文章参考:小刘谈论源代码
让我们简要介绍Concurrenthashmap的整体过程:
总体过程类似于Hashmap,这大约是以下步骤:
附加元素操作中使用的锁主要是(旋转锁 + CAS +同步 +段锁)。
为什么要使用同步而不是重新输入锁?
由于同步在某些情况下得到了极大的优化,因此它并不比重新进入。
在稍后分析扩展的能力时,将仔细探索此内部类别。这是一个熟悉的:
该节点将在Treebin中使用,然后您将被详细介绍:
与Hashmap相比,可以发现建设性方法是,如果没有哈希图的总和,它将用于控制它,并且仅存储容量。那么它如何使用?官方解释如下:
在对HashMAP成员方法进行形式分析之前,请分析内部类中的一些子方法:
首先查看Hash成员的属性值的计算方法:consurrenthashmap的内部类别:
以下简介方法:获取由“ tab [node []]数组指定的节点节点。
分析时,首先回顾上述某些静态属性字段的含义:
上述属性字段的审查和介绍并不难绘制:
例如,分析:
在这一点上,ConturrentHashMap的源代码分析准备已完成,一些更麻烦的方法将被更新。
原始:https://juejin.cn/post/7094896936607547429