Java ConCurrentHashMap原理总结
来源:互联网 发布:镜仙网络电影 编辑:程序博客网 时间:2024/06/16 00:56
Java ConCurrentHashMap原理总结
2)、定位HashEntry:直接使用在hash值与(HashEntry数组-1)进行相与。
put操作:1)、判断是否需要对Segment里的HashEntry数组进行扩容。判断依据是threshold*负载因=容量。如果不扩容找到位置进行存储。
2)、扩容为原来的两倍。
size统计:先尝试2次通过不锁定segement方式来统计各个segement大小,如果统计中容器count发生了变化,则再采用加锁来统计。使用modCount变量来判断是否发生了变化,通过比较前后值得变化来判断是否进行了修改,因为每次修改modcount进行自动加1。
ConCurrentHashMap采用锁分段技术提高了并发访问效率。它由segment数组和HashEntry数组组成。segment是采用了可重入锁,在map里扮演锁的角色;HashEntry则存储键值对数据。存储结构图如下:
2)、定位HashEntry:直接使用在hash值与(HashEntry数组-1)进行相与。
put操作:1)、判断是否需要对Segment里的HashEntry数组进行扩容。判断依据是threshold*负载因=容量。如果不扩容找到位置进行存储。
2)、扩容为原来的两倍。
size统计:先尝试2次通过不锁定segement方式来统计各个segement大小,如果统计中容器count发生了变化,则再采用加锁来统计。使用modCount变量来判断是否发生了变化,通过比较前后值得变化来判断是否进行了修改,因为每次修改modcount进行自动加1。
阅读全文
0 0
- Java ConCurrentHashMap原理总结
- java ConcurrentHashMap原理分析
- Java集合~ConcurrentHashMap原理
- Java集合---ConcurrentHashMap原理
- ConcurrentHashMap实现原理总结--下
- ConcurrentHashMap实现原理总结--补充
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- Java集合---ConcurrentHashMap原理分析
- 【最大流-Dinic算法】B
- 第2章 Spring框架介绍 -- Spring4.3.8参考文档中文版
- 第三篇:二十年亲历企业信息化(1)
- 文章标题
- 静态web服务器Httpd安装实操
- Java ConCurrentHashMap原理总结
- SQL注入之权限提升
- BerkeleyDB和OpenLDAP安装
- 性价比最好的北斗模块ATGM336H
- 微服务注册与发现
- Html返回上一页面刷新
- 命运 HDU
- JAVA学习笔记之(三)流程控制
- 字符编码格式总结 (参考手册)