ConcurrentHashMap底层实现原理
ConcurrentHashMap是内部线程安全的Map,但外部并非线程安全,比如多个线程同时put去使得某个key的value累加时,得到的结果通常不会相同,所以该加锁时还得加锁ConcurrentHashMap在jdk1.7是基于分段锁实现,但我们重点讨论jdk1.8的版本,也就是使用数组加链表加红黑树,分段锁改为基于cas和Synchronized实现当hash冲突造成链表长度等于8,且nodes数组长度大于64时,链表结构会转变为红黑树结构,之所以要等于8是基于时间和空间的考量,当链表长度小于6



