ConcurrentHashMap

在JDK1.7中用的是Segment数组+链表实现的。Segment是一种可重入锁(ReentrantLock),链表则用于存储键值对数据。一个ConcurrentHashMap里包含一个Segment,一个Segment里包含一个链表。JDK1.7 的ConcurrentHashMap给每一段数据配一把锁,当一个线程访问其中该段数据的时候,会,那么其他段的数据也能被其他线程访问,能够实现真正的并发访问。Segment默认个数是 16,一旦。