ConcurrentHashMap简介

先贴出一张图表示对ConCurrentHashMap的理解

ConcurrentHashMap

HashMap:HashEntry数组

HashEntry:注意 value 以及 next域都用volatile修饰,保证数据安全。

HashEntry

Segments:并发的最小单元,ConcurrentHashMap与Hashtable不同的是,ConcurrenHashMap是分段加锁,而Hashtable则是整个对象加锁。从加锁的方式开看,ConcurrentHashMap效率相对来说高一点。每个Segments都是一个小型的HashMap。


Segment

Segment 继承了可重入锁,提升并发操作的效率。

ConcurrentHashMap数据插入:

数据插入,先查询segment


查询Segment
segment对象putValue方法

这只是读源码笔记,主要将自己的感受记下来,写的不好的地方请大家原谅。如果对您有帮助那是莫大的荣幸了,同时想说纸上读来终觉浅,感兴趣的同学可以翻看一下源码,会有意想不到的收获。

你可能感兴趣的:(ConcurrentHashMap简介)