HashMap底层是数组加链表(或红黑树),数据存储在数组中,数组每个元素都是一个链表或者红黑树,当链表长度超过8时,链表会自动转为红黑树,以提高性能。

ConcurrentHashMap底层也是数组加链表(或红黑树),不同的是ConcurrentHashMap采用了分段锁的思想,将整个Map分成多个Segment,每个Segment拥有自己的锁,不同的Segment之间互不干扰,多个线程可以同时操作不同的Segment,从而提高了并发性能。同时,ConcurrentHashMap在获取锁时采用了CAS无锁算法,减少了锁竞争的发生。

hashmap底层和ConcurrentHashMap的底层

原文地址: https://www.cveoy.top/t/topic/hkcI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录