ConcurrentHashMap简介说明

乔欣 Java面经 发布时间:2022-11-12 23:50:28 阅读数:17553 1 并发编程面试题(2023最新版)
下文笔者讲述并发容器ConcurrentHashMap的简介说明,如下所示

ConcurrentHashMap的简介

ConcurrentHashMap:
    是一个线程安全且高效的HashMap实现
      在高并发场景中使用map结构时,经常使用ConcurrentHashMap结构 

ConcurrentHashMap如何实现线程安全和高效的呢?

  
 JDK1.7中:
    ConcurrentHashMap使用Segment + HashEntry的数据结构 
	  如下:
        一个 ConcurrentHashMap 里包含一个 Segment 数组
         Segment 的结构和 HashMap 类似,是一种数组和链表结构
         segment继承ReentrantLock
          一个 Segment 包含一个HashEntry 数组
         每个 HashEntry 是一个链表结构的元素
         当对 HashEntry 数组中数据进行修改时
		    须首先获得对应的 Segment锁---采用分段锁的方式实现线程安全

JDK1.8中:
    放弃Segment这种复杂的设计
    取而代之的是采用Node + CAS + Synchronized来保证并发安全
      synchronized只锁定当前链表或红黑二叉树的首节点
       这样只要hash不冲突,就不会产生并发,效率又提升N倍
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202211/16682685654892.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者