ConcurrentHashMap源码(JDK1.8)
一、与JDK1.7的区别
ConcurrentHashMap的实现与1.7版本有很大的差别,放弃了段锁的概念,借鉴了HashMap的数据结构:数组+链表+红黑树。ConcurrentHashMap不接受nullkey和nullvalue。
1.1 数据结构
数组+链表+红黑树
1.2 并发原理
cas乐观锁+synchronized锁
CAS是compare and swap的缩写,即我们所说的比较交换。cas是一种基于锁的操作,而且是乐观锁。在java中锁分为乐观锁和悲观锁。悲观锁是将资源
原创
2020-12-29 17:11:29 ·
254 阅读 ·
0 评论