马老师ID生成器与数据同步器原理 马老师分布式锁精讲
ConcurrentHashMap 的实现采用了分段锁的机制。在 Java 7 中,ConcurrentHashMap 使用了一个叫做 Segment 的类来划分桶(bucket),每个 Segment 都相当于一个小的哈希表,它包含了多个桶,每个桶又是一个链表。Segment 内部使用了 ReentrantLock 锁,不同 Segment 之间并不会相互影响,因此多线程访问不同的 Segment 时不会出现竞争。
在 Java 8 中,ConcurrentHashMap 的实现发生了变化,它摒弃了之前使用 Segment 的分段锁机制,采用了 CAS(Compare and Swap)和 synchronized 来保证并发安全。具体来说,ConcurrentHashMap 在