摘要: sleep() 方法是线程类(Thread)的静态方法 调用该方法会让调用线程进入睡眠状态,让出执行机会给其他线程,等到休眠时间结束后,线程进入就绪状态和其他线程一起竞争cpu的执行时间。 因为sleep() 是static静态的方法,他不能改变对象的机锁,当一个synchronized块中调用了s 阅读全文
posted @ 2018-07-13 18:31 冷漠不是我的本意 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 1、容量的问题 hashMap有最大容量限制 2、多线程并发的问题 hashMap不是线程安全的 延展: hashMap的并发问题 多线程同时调用hashMap的resize方法后,后续调用get方法时,可能进入死循环 阅读全文
posted @ 2018-07-12 15:42 冷漠不是我的本意 阅读(892) 评论(0) 推荐(0) 编辑
摘要: nginx支持的负载均衡调度算法方式如下: 轮询(默认算法):每个请求按时间顺序分配到不同后端服务器,如果某个后端服务器宕机,能自动剔除掉。 weight轮询:nginx反向代理接收到客户端收到的请求后,可以给不同的后端服务器设置一个权重值(weight),用于调整不同的服务器上请求的分配率;权重数 阅读全文
posted @ 2018-07-12 14:19 冷漠不是我的本意 阅读(5337) 评论(0) 推荐(0) 编辑
摘要: 分布式锁的应用场景 分布式情况下(多JVM),线程A和线程B很可能不是在同一JVM中,这样线程锁就无法起到作用了,这时候就要用到分布式锁来解决 分布式锁应该具备的特点 可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。 这把锁要是一把可重入锁(避免死锁) 这把锁最 阅读全文
posted @ 2018-07-11 22:48 冷漠不是我的本意 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 一个JUnit4的单元测试用例执行顺序为: @BeforeClass -> @Before -> @Test -> @After -> @AfterClass; 每一个测试方法的调用顺序为: @Before -> @Test -> @After; 代码示例: 执行结果: BeforeClassBef 阅读全文
posted @ 2018-07-11 20:54 冷漠不是我的本意 阅读(7336) 评论(2) 推荐(0) 编辑