扩容标识戳
高16位标识扩容戳,低16位标识扩容的线程数,
ConcurrentHashMap 采用了cas实现无锁并发同步,利用多线程来进行扩容,它时把node数据当作多线程之间的共享任务队列,通过指针来划分每个线程负责的区间,每个线程通过逆序遍历来实现扩容,迁移完的bucket 会被ForwardingNode替换;
1、fwd:这个类是个标识类,用于指向新表用的,其他线程遇到这个类会主动跳过这个类,因 为这个类要么就是扩容迁移正在进行,要么就是已经完成扩容迁移,也就是这个类要保证线 程安全,再进行操作。
2、advance:这个变量是用于提示代码是否进行推进处理,也就是当前桶处理完,处理下一个 桶的标识
3、finishing:这个变量用于提示扩容是否结束用的
https://blog.csdn.net/weixin_42022924/article/details/102865519