ConcurrentHashMap、BlockingQueue 与并发集合 | JavaSE
本章覆盖:并发集合的设计目的;ConcurrentHashMap;并发 Map 的原子复合 API;BlockingQueue;put / take 与阻塞语义;ArrayBlockingQueue / LinkedBlockingQueue 基础;CopyOnWriteArrayList 的基本认识;普通集合 + 外部锁与并发集合的选择;JDK 7 Segment 分段锁只作历史对比;JDK 8+ / JDK 21 不再使用 Segment 作为主体结构;JDK 21 ConcurrentHashMap:空桶 CAS、桶级 synchronized、volatile/原子访问的高层实现;ConcurrentHashMap 扩容时多线程协助迁移的概念;SynchronousQueue 在线程池中的作用;CopyOnWriteArrayList 的快照迭代、读多写少场景与写放大成本;Collections.synchronizedXxx 与 java.util.concurrent 并发集合的定位差异。
本章知识点
- 并发集合的设计目的
- ConcurrentHashMap
- 并发 Map 的原子复合 API
- BlockingQueue
- put / take 与阻塞语义
- ArrayBlockingQueue / LinkedBlockingQueue 基础
- CopyOnWriteArrayList 的基本认识
- 普通集合 + 外部锁与并发集合的选择
- JDK 7 Segment 分段锁只作历史对比;JDK 8+ / JDK 21 不再使用 Segment 作为主体结构
- JDK 21 ConcurrentHashMap:空桶 CAS、桶级 synchronized、volatile/原子访问的高层实现
- ConcurrentHashMap 扩容时多线程协助迁移的概念
- SynchronousQueue 在线程池中的作用
- CopyOnWriteArrayList 的快照迭代、读多写少场景与写放大成本
- Collections.synchronizedXxx 与 java.util.concurrent 并发集合的定位差异