版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/QQ1142003960/article/details/50562723
ConcurrentHashMap跟Hashtable一样,是一个线程安全的Map,但是效率要比Hashtable好不少。
因为Hashtable是对整个table进行加锁,所有线程抢一把锁;ConcurrentHashMap里面多了一个Segment内部类,entry的链表搬到了segment里面来了,每次get、put操作的时候,多线程操作同一个segment的时候才会发生锁竞争。
据说在进行扩容的时候,才会给整个table进行加锁(待确认)
参考文章:http://blog.csdn.net/liuzhengkang/article/details/2916620
后续再补充