码迷,mamicode.com
首页 > 编程语言 > 详细

java集合之HashMap与ConcurrentHashMap的自我理解

时间:2019-10-26 01:31:04      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:mic   tree   线程安全   问题   并发容器   list   原码   限制   img   

一、HashMap存在不理解的问题

HashMap 是如何确定数组下标,原码是使用 高位>>>16 并且进行(n-1) & hash操作。

技术图片

 

 二、ConcurrentHashMap

技术图片

 

三、并发容器

ConcurrentHashMap:线程安全的HashMap的实现

ConcurrentSkipListSet:线程安全的TreeSet的实现
 
CopyOnWriteArrayList:线程安全且在读操作时无锁的ArrayList
 
CopyOnWriteArraySet:基于CopyOnWriteArrayList,不添加重复元素
 
ArrayBlockingQueue:基于数组、先进先出、线程安全,可实现指定时间的阻塞读写,并且容量可以限制
 
LinkedBlockingQueue:基于链表实现,读写各用一把锁,在高并发读写操作都多的情况下,性能优于ArrayBlockingQueue

 

java集合之HashMap与ConcurrentHashMap的自我理解

标签:mic   tree   线程安全   问题   并发容器   list   原码   限制   img   

原文地址:https://www.cnblogs.com/fc520/p/11741440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!