ConcurrentHashMap原理 JDK1.7版本JDK1.8版本 JDK1.7版本 分段锁 segment包含HashEntry,segment上加锁,通过hash函数找到相应位置 JDK1.8版本 取消segments字段,直接采用transient volatile HashEntry<K,V>[] table保存数据,采用table数组元素作为锁,从而实现了对每一行数据进行加锁,并发控制使用Synchronized和CAS来操作将原先table数组+单向链表的数据结构,变更为table数组+单向链表+红黑树的结构.