摘要: ConcurrentHashMap 锁分段机制 JDK1.8 ConcurrentHashMap使用的是分段锁技术,ConcurrentHashMap 是一个 Segment 数组,Segment 通过继承 ReentrantLock 来进行加锁,所以每次需要加锁的操作锁住的是一个 segment, 阅读全文
posted @ 2019-11-24 17:08 wf.zhang 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 什么是CopyOnWrite容器 CopyOnWrite容器即写时复制的容器。通俗的理解是当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。这样做的好处是我们可以对CopyOn 阅读全文
posted @ 2019-11-24 17:07 wf.zhang 阅读(182) 评论(0) 推荐(0) 编辑
摘要: i++的原子性问题 例子 int i=10; i++; 结果 i=10 分析过程 在计算机 底层 会有生成一个临时变量 temp 将i的值赋值给temp int i=10; > int temp =i; i++; > i=i+1; 最后 > i=temp; 总结 i++ 过程中 读->改->写的操作 阅读全文
posted @ 2019-11-24 12:43 wf.zhang 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 什么是volatile关键字 volatile是轻量级同步机制,与synchronized相比,他的开销更小一些,同时安全性也有所降低,在一些特定的场景下使用它可以在完成并发目标的基础上有一些性能上的优势. volatile修饰的变量对所有线程的可见性(即不具有互斥性) synchronized具有 阅读全文
posted @ 2019-11-24 11:36 wf.zhang 阅读(195) 评论(0) 推荐(1) 编辑
摘要: Java JUC 简介 在 Java 5.0 提供了 java.util.concurrent (简称 JUC )包,在此包中增加了在并发编程中很常用 的实用工具类,用于定义类似于线程的自定义子 系统,包括线程池、异步 IO 和轻量级任务框架。 提供可调的、灵活的线程池。还提供了设计用于 多线程上下 阅读全文
posted @ 2019-11-24 11:34 wf.zhang 阅读(378) 评论(0) 推荐(0) 编辑