currentHashMap使用的原因
为什么使用currentHashMap,这时候我们就需要和HashMap以及HashTable进行比较
HashMap线程不安全的原因?...在多线程的情况下,HashMap的操作会引起死循环,导致CPU的占有量达到100%,所以在并发的情况下,我们不会使用HashMap....至于为什么会引起死循环,大概是因为HashMap的Entry链表会形成链式的结构,一旦形成了Entry的链式结构,链表中的next指针就会一直不为空,这样就会导致死循环
不使用HashTable的原因?...currentHashMap
这样的话,当修改该容器的不同的段时,就不会存在并发的问题,如图可知,我们得到一个元素需要进行两次hash操作,第一次得到Segment,第二次得到HashEntry中的链表头部...可以最高同时支持Segment数量大小的写操作(刚好这些写操作都非常平均地分布在所有的Segment上)
3,JDK1.8的currentHashMap的原理
JDK1.8的currentHashMap