-
理解ConcurrentHashMap
-
-
一、CAS Compare And Swap 比较并替换,也是用的乐观锁的机制;
-
-
CAS中有三个基本的操作元素
-
-
内存地址 V;
-
旧的预期值 A;
-
新的值 B;
-
更新一个值的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B;
-
如果更新失败,则重试,其实这个过程也算是一种对数据的锁保护(不去操作);
-
-
-
-
-
二、ConcurrentHashMap从1.5版本开始使用,1.8版本的设计更加参考了HashMap的设计,数组 + 链表 + 红黑树;
-