问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ConcurrentHashMap\HashMap put操作时key为什么要rehash

发布网友 发布时间:2022-06-02 14:50

我来回答

1个回答

热心网友 时间:2023-11-04 11:51

Java中ConcurrentHashMapputifAbsent方法的例子很多时候我们希望在元素不存在时插入元素,我们一般会像下面那样写代码synchronized(map){if(map.get(key)==null){returnmap.put(key,value);}else{returnmap.get(key);}}上面这段代码在HashMap和HashTable中是好用的,但在CHM中是有出错的风险的。这是因为CHM在put操作时并没有对整个Map加锁,所以一个线程正在put(k,v)的时候,另一个线程调用get(k)会得到null,这就会造成一个线程put的值会被另一个线程put的值所覆盖。当然,你可以将代码封装到synchronized代码块中,这样虽然线程安全了,但会使你的代码变成了单线程。CHM提供的putIfAbsent(key,value)方法原子性的实现了同样的功能,同时避免了上面的线程竞争的风险。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
狐外婆是什么意思? ...都流,有几年了,吃香蕉水果时也流,到底什么原因啊,维生素c也补了也没... 我的牙龈经常出血,刷牙出得最凶,有时候吃香蕉都会出血,请问是什么原 ... 如何通过社交软件添加好友? 过年送礼送购物卡合适吗? 林上的UV能量测试仪的自动和手动模式有什么区别啊?什么情况下用的... 什么是建设银行金卡 建行信用金卡有什么好处 紫外测试仪UV能量计常见问题解答 020028什么卡 lolADC玩穿甲流和暴击流区别?(前期伤害,后期伤害,打肉,打脆皮等方面)两种具体分别怎么出装? lol维鲁斯AP,AD减CD综合出装 LOL:AD维鲁斯vsAP维鲁斯,哪个装备更强? 求维鲁斯大神讲解 我维鲁斯刚开始入手,打ad,对线没什么问题,打出 刘禹锡的诗赤壁中的尾句的含义是什么 应付金额不确定的短期负债有哪些 原声缺角d型民谣吉他,达人帮忙! 深圳哪里有吉他专卖店!请高手推荐一下,买什么牌子的吉他好! 国产吉他品牌哪个适合指弹 TAKAMI的中文是什么 Takamin的电箱怎么样?另推荐价格在2000元的吉他! takami sapuli是什么牌子 takami为什么在日本那么贵 我哥去上海打工了,我求他带我走,他为什么不肯? <寻找前世之旅>的结局是什么啊? 如何进行组织结构诊断 详细调查主要包括:组织结构调查、___和详细流程调查。 仰慕一个人的唯美句子 欢迎大一新生的唯美话 欢迎宝宝的到来的唯美句子 超市买的袋包装的黑木耳味道怪怪的,像有放酒精和醋的味,谁知道怎么回事啊?吃的话有没有害?急~~ 幼师考试怎么报名 什么样的地方适合建港口?需要具备怎样的条件? 港口建设的区位条件是什么?请举例说明 . 建设港口的条件(要全面) 港口建立的地理条件 “人大代表”和“政协委员”用英语怎么说 哪里可以买到毛毡? 北京哪有买毛毡得? 我在西安,能到哪儿买到毛毡,做手工艺的布,谢谢!! 修建码头需要考虑哪些地质因素?请从地质学方面解答~而不是经济可行性等方面~碰到满意的答案还会追加金币~ 哪里有买毛毡「徐汇区」 兴建港口的自然条件有哪些,, 魔力宝贝怎么获得毛毡 魔力宝贝毛毡获得攻略 大圣花园附近有没有买毛毡的毛边纸的地方 戴斯班克 要你命3000 制作流程! 一套国画工具大约多少钱?(不含调色盘)在哪里买可以买全? 高分求英文翻译~~~翻得满意再加200分 猫为什么抓竹席? “别”字划去“口”字,打一成语