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

Posted 清风徐徐而来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合之HashMap与ConcurrentHashMap的自我理解相关的知识,希望对你有一定的参考价值。

一、HashMap存在不理解的问题

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

 

 二、ConcurrentHashMap

 

三、并发容器

ConcurrentHashMap:线程安全的HashMap的实现

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

 

以上是关于java集合之HashMap与ConcurrentHashMap的自我理解的主要内容,如果未能解决你的问题,请参考以下文章

Java集合之HashMap与Hashtable的区别

java集合之HashMap

深入理解java:2.3.3. 并发编程concurrent包 之容器ConcurrentHashMap

Java集合深度解析之HashMap

Java集合之Hashtable源码分析

JDK之数据结构---集合