先贴出一张图表示对ConCurrentHashMap的理解
HashMap:HashEntry数组
HashEntry:注意 value 以及 next域都用volatile修饰,保证数据安全。
Segments:并发的最小单元,ConcurrentHashMap与Hashtable不同的是,ConcurrenHashMap是分段加锁,而Hashtable则是整个对象加锁。从加锁的方式开看,ConcurrentHashMap效率相对来说高一点。每个Segments都是一个小型的HashMap。
Segment 继承了可重入锁,提升并发操作的效率。
ConcurrentHashMap数据插入:
这只是读源码笔记,主要将自己的感受记下来,写的不好的地方请大家原谅。如果对您有帮助那是莫大的荣幸了,同时想说纸上读来终觉浅,感兴趣的同学可以翻看一下源码,会有意想不到的收获。