你知道 ConcurrentHashMap 的底层实现和原理吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1068个文字,预计阅读时间需要5分钟。
之前分享过一段关于HashMap的面试题,后来有个小兄弟私下问我,他遇到了一个ConcurrentHashMap的问题,不知道怎么回答。于是,就有了这一期的内容!我是Mic,一个工作了14年的Java程序员。
普通人:之前分享过一期HashMap的面试题,然后有个小伙伴私信我说,他遇到了一个ConcurrentHashMap的问题不知道怎么回答。
于是,就有了这一期的内容!!
我是Mic,一个工作了14年的Java程序员,今天我来分享关于 ”ConcurrentHashMap 底层实现原理“ 这个问题,
看看普通人和高手是如何回答的!
嗯.. ConcurrentHashMap是用数组和链表的方式来实现的,嗯… 在JDK1.8里面还引入了红黑树。然后链表和红黑树是解决hash冲突的。嗯……
高手:这个问题我从这三个方面来回答:
- ConcurrentHashMap的整体架构
- ConcurrentHashMap的基本功能
- ConcurrentHashMap在性能方面的优化
-
ConcurrentHashMap的整体架构
这个是ConcurrentHashMap在JDK1.8中的存储结构,它是由数组、单向链表、红黑树组成。当我们初始化一个ConcurrentHashMap实例时,默认会初始化一个长度为16的数组。由于ConcurrentHashMap它的核心仍然是hash表,所以必然会存在hash冲突问题。
ConcurrentHashMap采用链式寻址法来解决hash冲突。
本文共计1068个文字,预计阅读时间需要5分钟。
之前分享过一段关于HashMap的面试题,后来有个小兄弟私下问我,他遇到了一个ConcurrentHashMap的问题,不知道怎么回答。于是,就有了这一期的内容!我是Mic,一个工作了14年的Java程序员。
普通人:之前分享过一期HashMap的面试题,然后有个小伙伴私信我说,他遇到了一个ConcurrentHashMap的问题不知道怎么回答。
于是,就有了这一期的内容!!
我是Mic,一个工作了14年的Java程序员,今天我来分享关于 ”ConcurrentHashMap 底层实现原理“ 这个问题,
看看普通人和高手是如何回答的!
嗯.. ConcurrentHashMap是用数组和链表的方式来实现的,嗯… 在JDK1.8里面还引入了红黑树。然后链表和红黑树是解决hash冲突的。嗯……
高手:这个问题我从这三个方面来回答:
- ConcurrentHashMap的整体架构
- ConcurrentHashMap的基本功能
- ConcurrentHashMap在性能方面的优化
-
ConcurrentHashMap的整体架构
这个是ConcurrentHashMap在JDK1.8中的存储结构,它是由数组、单向链表、红黑树组成。当我们初始化一个ConcurrentHashMap实例时,默认会初始化一个长度为16的数组。由于ConcurrentHashMap它的核心仍然是hash表,所以必然会存在hash冲突问题。
ConcurrentHashMap采用链式寻址法来解决hash冲突。

