250507-集合-线程安全2
答案
D
题源
错因
JDK1.7 及之前的 ConcurrentHashMap 使用分段锁(Segment Lock)机制来实现线程安全。它将整个桶数组划分为若干个 Segment,每个 Segment 继承自 ReentrantLock,从而实现对每个 Segment 的独立加锁,提升并发性能。
JDK1.8 对 ConcurrentHashMap 进行了重构,取消了 Segment 的设计,转而使用 CAS(无锁操作)和 synchronized(仅在必要时使用)来保证线程安全,并引入链表转红黑树等优化结构,从而进一步提升并发性能和空间利用率。