Java进阶-第十八篇:Java并发容器 - ConcurrentHashMap - JDK 1.8结构变革
在Java并发编程中,ConcurrentHashMap
是一个重要的并发容器。JDK 1.8对ConcurrentHashMap
的结构进行了重大变革,以进一步提升其在高并发场景下的性能。
1. 数组 + 链表 / 红黑树结构
新结构的引入原因
JDK 1.7中的ConcurrentHashMap
采用分段锁机制,将数据分成多个Segment
,每个Segment
相当于一个小的HashMap
。虽然这种方式在一定程度上提高了并发性能,但在极端情况下,某个Segment
中的链表可能会变得很长,导致查找、插入和删除操作的时间复杂度退化为 O ( n