【JAVA基础知识】ConcurrentHashMap-变量篇

本文主要探讨JDK 1.8.172版本中ConcurrentHashMap的内部实现,从其继承结构和实现接口的角度进行源码解析,讲解ConcurrentHashMap如何在并发环境下保证高效和安全性。
摘要由CSDN通过智能技术生成

【JAVA基础知识】ConcurrentHashMap-变量篇

前言:本文章依赖JDK版本为1.8.172
源码解析:

继承:-》 实现:》》
ConcurrentHashMap-》AbstractMap
ConcurrentHashMap》》ConcurrentMap-》Map

// 1<<30,代表table桶最大容量
private static final int MAXIMUM_CAPACITY = 1073741824;
// 1<<4,代表table桶初始默认容量
private static final int DEFAULT_CAPACITY = 16;
// 虚拟机限制的最大数组长度,jdk8新引入,Integer.MAX_VALUE-8 (2^31-1-8)
static final int MAX_ARRAY_SIZE = 2147483639;
// 默认的并行级别,代码中未使用,为了兼容性,所以留下,主要是为了配合同样是为了兼容性的Segment使用
private static final int DEFAULT_CONCURRENCY_LEVEL = 16;
// 加载因子,1.8固定0.75,构造方法中指定的参数不会起作用,计算中使用n-(n>>2)代替浮点乘法
private static final float LOAD_FACTOR = 0.75F;
// 一个hash桶中,当hash冲突数大于此值,链表转化为红黑树,提升查询效率
static final 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值