首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
ConcurrentHashMap锁加在了哪些地方?
[问答题]
请你说明ConcurrentHashMap锁加在了哪些地方?
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(46)
分享
纠错
9个回答
添加回答
0
西瓜同学🏀
不同的Segment,ConcurrentHashMap将数据分段,在读写的时候只加到相应的数据段上,这样在多线程的时候,可以读写其他段的数据,提高效率
发表于 2019-05-05 15:08:53
回复(0)
更多回答
6
千里马丶
ConcurrentHashMap
Java7是由Segment数组实现的,一个Segment锁住几个HashEntry元素;
Java8是由synchronized锁住transient
volatile
Node
<K,V>[]
table
数组的一个
元素(即头结点,锁粒度比Java7低),还通过CAS(Unsafe对象)操作数据更新、插入等。
参考:
https://www.cnblogs.com/theRhyme/p/9404082.html
发表于 2019-08-02 12:39:23
回复(1)
2
zhaoshg
补充个JDK1.8的:1.8 中取消了segments字段,直接采用transient volatile HashEntry<k,v>[] table保存数据,采用table数组元素作为锁,从而实现了对每一行数据进行加锁,进一步减少并发冲突的概率。
编辑于 2019-01-20 22:20:31
回复(0)
1
ღ_ღ
不同的Segment,ConcurrentHashMap将数据分段,在读写的时候只加到相应的数据段上,这样在多线程的时候,可以读写其他段的数据,提高效率
发表于 2019-04-04 09:21:27
回复(0)
0
TiAmo_9955
加在每个Segment 上面
发表于 2019-05-02 18:42:09
回复(0)
0
江畔8670
不同的Segment,ConcurrentHashMap将数据分段,在读写的时候只加到相应的数据段上,这样在多线程的时候,可以读写其他段的数据,提高效率
发表于 2019-04-29 18:13:01
回复(0)
0
茹(๑•.•๑)
加在每个Segment 上面。
发表于 2019-04-27 13:36:55
回复(0)
0
呀小裴
加在每个Segment 上面。
发表于 2019-04-26 22:57:10
回复(0)
0
每天都说我是过儿
segment是一种可重入锁
发表于 2019-01-03 20:59:13
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Java
Java工程师
上传者:
小小
难度:
9条回答
46收藏
6218浏览
热门推荐
相关试题
3.下列关于表中西部省市区2006...
资料分析
言语理解与表达
资料分析
评论
(1)
4.该校1997年男女教师的比例为...
资料分析
言语理解与表达
资料分析
评论
(1)
计算机在工作过程中,若突然停电,(...
计算机常识
普及
C++
Pascal
选择题
评论
(1)
来自
NOIP2008初赛普及组
Mysql中表student_in...
数据库
SQL
评论
(1)
SQL中,下列涉及空值的操作不正确...
SQL
评论
(0)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题