JDK1.8中ConcurrentHashMap中computeIfAbsent死循环bug问题
死循环问题的提出:https://bugs.openjdk.java.net/browse/JDK-8062841
map.computeIfAbsent("AaAa",key->map.computeIfAbsent("BBBB",key2->42));
computeIfAbsent在1.8中才有的方法
computeIfAbsent意思是:key不存在时候,调用mappingFunction函数结果作为value值
debug
两个key的hash值一样,跑到同一个槽里面,然后一直死循环for
总结
到此这篇关于JDK1.8中ConcurrentHashMap中computeIfAbsent死循环bug的文章就介绍到这了,更多相关JDK1.8 ConcurrentHashMap computeIfAbsent死循环内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot+RabbitMQ+Redis实现商品秒杀的示例代码
本文主要介绍了SpringBoot+RabbitMQ+Redis实现商品秒杀,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-11-11Java中的PrintWriter 介绍_动力节点Java学院整理
PrintWriter 是字符类型的打印输出流,它继承于Writer。接下来通过本文给大家介绍java中的 PrintWriter 相关知识,感兴趣的朋友一起学习吧2017-05-05Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例
下面小编就为大家分享一篇Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2017-12-12MyBatis handleResultSet结果集解析过程示例
这篇文章主要为大家介绍了MyBatis handleResultSet结果集解析过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-02-02
最新评论