【Java核心高阶进阶】28-ConcurrentHashMap源码剖析 28 | ConcurrentHashMap 源码剖析(JDK8 CAS + synchronized)模块六:JUC并发框架与锁机制 · 第4篇,从分段锁到桶级锁,逐行拆解 ConcurrentHashMap 的 put、扩容、计数与树化机制。一、JDK7 分段锁 Segment 结构与缺陷JDK7 的 ConcurrentHashMap 采用Segment + HashEntry分段锁结构。Segment 继承 ReentrantLock,内部维护一个 HashEntry 数组。整个 Map 由一个 Segment 数组组成,每个 Segment 是一个独立的哈希表,各持一把锁。ConcurrentHashMap ├── Segment[0] (ReentrantLock) - HashEntry[] - 链表 ├── Segment[1] (ReentrantLock) - HashEntry[] - 链表 └── ...并发度等于 Segment 数量(默认16)。put 时先定位 Segment(对 hash 做再散列取模),锁定整个 Segment,再在 Segment 内的 HashEntry 数组中操作。缺陷:并发度固定:默认