巅峰战队|ConcurrentHashMap的部分源码分析( 二 )


好 , 以上 , 就是 transfer 方法的总体逻辑 。 还是挺复杂的 。 再进行精简 , 分成 3 步骤:
1.计算每个线程可以处理的桶区间 。 默认 16.2.初始化临时变量 nextTable , 扩容 2 倍 。 3.死循环 , 计算下标 。 完成总体判断 。 4. 如果桶内有数据 , 同步转移数据 。 通常会像链表拆成 2 份 。 大体就是上述的 3 个步骤 。