不是延时初始化,初始化的话创建下标为0元素。对应一个小的hash表。
---159---
数组大小默认是16的话
掩码和位移后的hash码做与运算。
关于下表的计算:https://blog.csdn.net/varyall/article/details/80317146
---160---
我们看下put的流程。
调用segment的put方法。
concurrentHashMap是把新的节点放在链表的头部的。
---161---
rehash流程
---162---
put并且put是新增的才会加入新的节点的。
扩容之后重新计算新节点的桶下标。
---163---
get
---164---
size是弱一致上午
修改计数 seg计数
失败次数多了加锁。
---165---