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 ·
216 阅读 ·
3 评论