你好,concurrentHashmap在各个版本都是线程安全的,只是1.8版本实现时做了比较大的调整,具体为:ConcurrentHashMap取消了segment分段锁,而采用CAS和synchronized来保证并发安全。数据结构采用数组+链表/红黑二叉树的方式实现。当链表中(bucket)的节点个数超过8个时,会转换成红黑树的数据结构来存储,这样设计的目的是为了减少同一个链表冲突过大情况下的读取效率。synchronized只锁定当前链表或红黑二叉树的首节点,这样只要hash不冲突,就不会产生并发,效率又提升N倍。