- 博客(1)
- 收藏
- 关注
原创 ConcurrentHashMap 底层原理详解
2.首先会判断当前容器是否初始化,如果未初始化,先对其进行初始化,如果已经初始化完成,则通过数组长度减一和上面计算的hash值进行与操作,算出存储的位置,进行了CAS操作对容器进行填充,然后又判断了当前是否在扩容(MOVED == -1)如果正在扩容会进行帮助扩容,之后会对当前hash桶进行加锁,保证线程安全,在该桶中检查是否存在相同的键,如果不存在,则将新的键值对插入到链表或红黑树中(具体取决于当前桶的情况)。CAS 的引入使得在进行插入、更新和删除操作时,减少了锁的使用,提高了性能。
2023-08-24 17:25:59
696
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人