ConcurrentHashMap源码解析
ConcurrentHashMap扩容时实现线程安全的原理
jdk1.7以及以前的情况是分段加锁
jdk1.8做了一些优化和改进,根据桶位进行synchronized关键字+CAS.,当桶位为null时使用cas操作,当数组中存在数据,则使用synchronized关键字对数组的桶位进行加锁。
ConcurrentHashMap重要变量
sizeCtl存在4种情况,是volatile关键字
-1:表table正在初始化
除了-1的其他负数:其低16位正在进行数据迁移的线..
原创
2021-03-03 00:35:45 ·
202 阅读 ·
3 评论