自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 docker search命令报错

最近想要系统的学习下docker,我用的是阿里云服务器,centOS7系统。敲docker search命令的时候,报错了。但是docker pull命令却ok。看报错的原因,应该是因为找不到index.docker.io的域名,最后通过在hosts文件里面配置域名解析,解决了。...

2022-06-18 15:06:31 1130 1

原创 54张扑克牌,除去两张大小王剩下52张扑克牌。问红桃A和黑桃A同时被一个人拿到的概率是多少?

正确解法首先必须问清楚,发给几个人。假设发给4个人. 那么每人拿13张牌。①首先算出所有的发牌的组合:C(52,13)C(39,13)C(2613)C(52,13):最初的52张牌中选13张发给第一个人C(39,13):余下的39张中任选13张,发给第二个人C(2613):余下的26张中任选13张,发给第三个人C(13*13):余下的13张中任选13张(组合数为1),发给第四个人②再算出任一个人拿到红桃A+黑桃A的组合:C(1,4)C(11,50)C(39,13)C(2613)C(1,

2020-10-20 10:29:11 1258

原创 高频面试题:秒杀系统设计

背景最近面试面得心力交瘁,由于没有高并发架构的实际项目经验,经常是在场景设计的面试题目上面栽跟头。上次就被问到了关于秒杀系统的设计,竟无语凝噎。痛定思痛,找了一套秒杀系统的视频看了一遍,总算有所理解。做个笔记,希望能帮到各位。秒杀系统设计库存预热提前把商品的库存加载到Redis中去,让整个流程都在Redis里面去做,然后等秒杀结束了,再异步的去修改库存就好了。用户下单为了提升下单速度,我们将订单数据存入到redis缓存中,如果用户支付了,再将redis中的订单存到Mysql中,并清空

2020-10-16 14:33:44 941 1

原创 springboot中RabbitMQ的简单应用

exchange的三种模式订阅模式:Fanout Exchange,不处理路由键。你只需要简单的将队列绑定到交换机上。一个发送到交换机的消息都会被转发到与该交换机绑定的所有队列上。很像子网广播,每台子网内的主机都获得了一份复制的消息。Fanout交换机转发消息是最快的。路由模式:Direct Exchange,处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “dog”,则只有被标记为“dog”的消息才被转发,不

2020-10-07 10:53:42 109

原创 Java集合的简单应用

HashSethashset是set接口的一种实现。set中不允许有重复的元素。treeset也是set的一种实现,区别在于treeset是有序的。例子:用hashset求两个数组的交集用retainAll的方法。 public int[] intersection(int[] nums1, int[] nums2) { //用set1保存nums1数组种的不重复元素 Set<Integer> set1 = new HashSet<>

2020-09-12 21:33:16 172

原创 注册中心Eureka简介

Eureka概要如图所示,Eureka注册中心,包含服务端(Eureka Server)和客户端(Eureka Client)。客户端分为服务消费方和 服务提供方。服务端提供的功能包括:服务注册:客户端启动时,会向服务端注册服务,服务端会存储和维护这个服务列表(注册表)提供注册表:提供注册表给客户端自我保护机制:为了防止因网络故障导致的误注销情况,eureka server会统计15分钟内超过一个阈值(默认85%)的客户端节点都没有正常的心跳,那么就认为出现了网络故障,启动自我保护机制。进

2020-08-28 23:11:17 172

原创 JUC常用到的类

JUC(java.util.concurrent)并发包中包含了许多并发编程中需要用到的类。锁,如ReentratLock,ReadWriteLock。 ReentrantLock重入锁,可以替代synchronized使用,并且有更多强大的功能,比如说可以中断锁,trylock,超时等待,公平锁等。 ReadWriteLock,读写锁,更是对读和写进行了锁分离,在读多写少的场景下,能极大的提高程序的性能。 原子类 基本类,数组类,引用类等。AtomicInteger比较常用。使用原子类,可以不

2020-08-28 17:51:03 1473

原创 Future和CompletableFuture的用法和区别

Future的用法多线程场景时,一般是实现runnable接口,覆写run方法,返回值是void类型,因此这种情况下不需要线程的返回结果。如果需要线程的返回结果,就需要用callable接口来代替了。callable用法和runnable一样,只不过覆写的是call方法,该方法有一个泛型返回值类型,可以根据需要指定。那么何时到Future呢?当你启动callable线程时,就可以声明一个Future对象,用于接收返回结果。Futrue可以监视目标线程调用call的情况,当你调用Future...

2020-08-28 13:31:25 9603 2

原创 阻塞队列LinkedBlockingQueue 和 并发队列ConcurrentLinkedQueue 的用法

目录前言阻塞队列LinkedBlockingQueue并发队列ConcurrentLinkedQueue总结前言在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安

2020-08-27 17:47:20 268

原创 java访问权限修饰符

2020-08-27 10:17:58 80

转载 JDK内置锁

前言java并发编程中,为了保证线程安全,经常会用到jdk的内置锁。jdk有三种内置锁。synchronized同步机制 ReentrantLock重入锁 ReadWriteLock读写分离锁synchronized同步机制synchronized有如下三种用法。// 1.代码块同步,锁对象需要显式指定public void doSomeThing() { synchronized(lock) { // do some thing }}// 2

2020-08-26 17:45:21 612

转载 设计模式UML类图

面向对象设计中的6大原则单一职责(Single responsibility principle) 一个类应该只有一个发生变化的原因,即一个类只负责一项职责。 如果一个类的职责过多,就增加了代码的耦合度。不利于扩展。 最佳实践:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。 里氏代换原则(Liskov Substitution Principle) 任何父类可以出现的地方,子类一定可以出现。 最佳实践:子类必须完全实现父类的方法,如果某些父类的方法在子类发生变异,则建议采用聚

2020-08-21 15:59:15 168

原创 java二进制运算

前言在讲二进制运算之前,首先得知道原码,反码,补码的概念。举个例子。二进制运算& 按位逻辑与,都为1则为1,否则为0;| 按位或,都为0则为0,有一个为1则为1;^ 异或,两个都相同为0,两个不相同为1,11=0,10=1,0^0=0~ 按位取反,包括符号位;<< 保留符号位,其余的向左移动N位,整数和负数都是低位补0,相当于乘以2的N次方,这种方式用来做2的整数倍乘法运算效率很高。.>> 保留符号位,其余的向右移动N位,整数高位补0,负数高位补1. &

2020-08-20 18:57:25 682

原创 八大排序算法的java实现

冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,==最后的元素应该会是最大的数。 ==针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。...

2020-08-20 14:03:06 94

原创 redis中数据类型的底层结构

简单动态字符串SDS包含一个char数组,数组已使用字节数,未使用字节数。对比C语言中的字符串,有以下优点。获取字符串长度O(1)的时间复杂度杜绝缓存溢出减少字符串的重新分配次数二进制安全,兼容C字符串函数链表list为一个双向链表,表头节点,表尾节点,节点数等属性。节点listNode,包含前置节点指针,后置节点指针,节点值指针属性。字典使用哈希表作为底层实现与java的哈希表类似。哈希表中包含一个dicEntry数组,哈希表大小,掩码,已有节点数。dicEntry有key和

2020-08-19 14:16:19 163

原创 MySql中查询语句优化的简单思路

前言要优化SQL,首先要找出那些执行速度慢的Sql语句。通过开启慢查询,可以实现。我们的CPU资源也比较紧张的时候,也完全可以在大部分时候关闭该功能,而只需要间断性的打开SlowQueryLog功能来定位可能存在的慢查询。开启慢查询:set global slow_query_log = on指定慢查询日志目录:set global slow_query_log_file=’/var/lib/mysql/slow.log’指定慢查询时间阈值:set global long_query_time

2020-08-18 19:55:31 143

原创 Mysql的索引设计上,应该如何考虑?

MySql的索引数据结构适当的索引会大大提高查询速度,但同时会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引。MySQL主要有两种索引结构:Hash索引和B+树索引。Hash索引是将索引字段转化为hashcode,仅支持Memory引擎。B+ 树是一种多路平衡查询树,是多叉树。对比普通二叉树,可以减少磁盘IO,提高检索速度。InnoDB和MyISAM的索引都是采用B+树的结构。哈希结构,B+树结构对比:1.哈希索引没

2020-08-18 17:43:28 327 1

原创 MySql常用存储引擎,以及它们的区别

MySql存储引擎常用引擎的比较InnoDB(默认)MyISAMMemory事务支持(默认事务隔离级别:可重复读)不支持不支持存储限制64TB256TB物理内存物理外键支持不支持不支持存储方式表结构放在.frm文件,数据和索引放在.idb文件中表结构放在.frm文件,数据放在myd文件,索引放在.myi文件每一个表和.frm文件关联,不支持blob和text数据类型,只存储在内存(mysql重启后数据消失)锁粒度默认行锁可以支持

2020-08-17 22:46:39 378

转载 spring-session的原理

最近sprigboot项目中,用spring-session,spring-session-data-redis插件来实现分布式session,对于redis的存储有点摸不着头脑,找了半天才解开了心中的疑惑,做个记录。当创建一个RedisSession,然后存储在Redis中时,RedisSession的存储细节如下:spring:session:sessions:33fdd1b6-b496-4b33-9f7d-df96679d32fespring:session:sessions:expires:

2020-08-16 17:46:42 400 1

转载 Redis常见应用场景之拙见

前言Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合),并 在 2.8.9 版本添加了 HyperLogLog 结构。如何根据不同的应用场景选择不同的数据类型呢?Redis中的发布订阅,事务功能,又怎么应用于业务中呢?Redis中的布隆过滤器用过吗?带着这些疑问,下文将逐条解答。stringStrings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字.常用

2020-08-15 23:30:01 227

转载 maven阿里云仓库配置

文章目录方式一:全局配置配置示例方式二:单个项目配置方式一:全局配置可以添加阿里云的镜像到maven的setting.xml配置中,这样就不需要每次在pom中,添加镜像仓库的配置,在mirrors节点下面添加子节点:<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> &

2020-08-10 10:31:43 671

转载 SQL的四种连接-内连接、左外连接、右外连接、全连接

内连接inner join…on… / join…on…展现出来的是共同的数据select m.Province,S.Name from member m inner join ShippingArea s on m.Province=s.ShippingAreaID;相当于:select m.Province,S.Name from member m , ShippingArea s where m.Province=s.ShippingAreaID;左连接(左外连接) left join…o

2020-08-05 21:36:24 130

转载 SQL中GROUP BY用法示例

SQL中GROUP BY用法示例概述常用聚合函数语法例子概述GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。GROUP BY必须得配合聚合函数来用,分组之后你可以计数(COUNT),求和(SUM),求平均数(AVG)等。常用聚合函数count() 计数sum() 求和avg() 平均值max() 最大min() 最小语法SELECT column

2020-08-05 21:16:15 1012

原创 国内github访问

很简单,按照如下步骤即可正常访问GitHub。在http://ping.chinaz.com/github.com,查找以下域名的ip,挑选响应时间短的ip地址。github.comassets-cdn.github.comgithub.global.ssl.fastly.net在host文件(C:\Windows\System32\drivers\etc\hosts)末尾添加三条记录。#github140.82.112.3 github.com185.199.110.153...

2020-07-24 13:13:42 1121

原创 int数组,integer数组,list相互转换

public static void main(String[] args) { int[] intArray1 = {1, 2, 3, 4, 5}; // int[] 转 List<Integer> List<Integer> listInteger1 =IntStream.of(intArray1) //先把int[]转成IntStream .boxed() .

2020-07-17 14:17:57 2033

原创 eclipse中jsp文件修改浏览器没有同步,问题之解决

如题,jsp文件改了,但是浏览器显示的效果都没有变化。删了cookies,重启Tomcat都没解决。(有时可以解决)虽然只是小问题,但确实让人讨厌。个人经验:碰到这种情况,右击Tomcat服务器,clean,再start一下就可以了!

2017-03-19 15:33:07 1609

原创 eclipse中java,jsp文件等的自动补全

http://jingyan.baidu.com/article/8065f87ff54c27233124989e.html

2017-03-12 13:47:10 5667

原创 SpringMVC jsp页面表单 与 后台bean的映射关系

如题,其实映射关系很简单,就是jsp页面的表单中的name属性,要与bean实体类的属性名对应。举个例子,JSP页面代码:

2017-03-12 12:05:44 693

原创 Execution default-testResources of goal 问题解决

既有maven工程导入的时候,我们经常会碰到相关包无法解析的问题,例如:Description Resource Path Location TypeExecution default-testResources of goal org.apache.maven.plugins:maven-resources-plugin:2.6:testResources failed: Plugin

2017-03-07 21:23:07 11262

原创 eclipse中Maven web项目的目录结构浅析

讲真,刚开始接触maven web项目的时候,相信很多人都会被它的目录结构迷惑。为了避免菜鸟们遇到像我一样的困扰,我就从我纯正菜鸟的视角,来分析一下这个东西。1,比如说,我们拿一个常见的目录结构来看,如下。2.上图中,为啥又有java resources文件夹的代码,又有src文件夹的代码呢?那我想改代码要改哪里。    其实,Java Resources文件夹

2017-03-01 15:24:15 21534 2

转载 eclipse自动补全的设置

最简单的修改方式是:Windows——>Preferences——>Java-->Editor-->Content Asist,在Auto activation triggers for Java后面的文本框里只有一个“.”。现在你将其改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”即可。然后你再试试,会发现,现在的补全功能跟VS差

2016-07-05 14:28:10 345

原创 20160705_Java基础知识(访问权限)

as

2016-07-05 11:09:17 248

原创 小阿顺打坏蛋游戏介绍

1.主要功能1.1.主页提供【开始冒险】,【游戏设置】,【帮助】等功能。1.2.按下【游戏设置】按钮,设置不同的游戏等级,设置音效/音乐开关等。1.3.按下【帮助】页面,了解游戏的规则。1.4.按下【开始冒险】页面,进入游戏界面。1.5.游戏界面上方,提供暂停按钮,分数显示,生命值显示等。1.6.按下暂

2016-05-24 21:59:01 378

转载 popScene 动画

需要修改引擎的Director::popScene()函数,也可以进行重载或者设置默认参数。void Director::popScene(const std::function& callback)  {      CCASSERT(_runningScene != nullptr, "running scene should not null");       _scene

2016-04-18 19:28:26 540

转载 cocos2dx创建精灵的五种方法

cocos2dx创建精灵的五种方法(包括使用图片名获取图片)还是闲来无事,白白继续给大家分享经验,文笔不好还请见谅!废话少说,直接上代码: // 创建精灵的五种方法 //方法一:直接创建精灵 //适合于要显示的是这张图片的全部区域, CCSprite * sprite = CCSprite::create("Icon.png"); /

2016-04-08 19:39:36 498

转载 cocos2d-x中文显示问题

cocos2d-x中文显示问题http://www.cnblogs.com/cocos2d-x/archive/2012/02/26/2368873.html很高兴你来到我的博客,同时也要感谢你对cocos2d-x引擎的支持。不过,既然你在这个时候来到这里,那八成是因为你遇到了麻烦——在你的cocos2d-x应用中,中文的显示似乎不太正常。虽然cocos2d-x是一

2016-03-26 21:57:26 328

原创 java中重载和重写的区别是什么?

方法重载:方法重载是指方法名和方法的返回类型都相同,但方法参数不一样.参数不一样体现在参数个数和参数类型不一样.举个例子:Test.java--------------public class Test{ public static void main(String[] args){ Test ts = new Test() ; System.out.println(ts.ss("

2016-02-02 20:44:03 603

系统和JVM调优(面试突击)

系统和JVM调优,深入浅出,简单实用。 配有视频,资料,代码,可以结合视频自己操作。 足够应付面试场景,非常适合面试突击。

2020-10-15

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除