死循環問題的提出:https://bugs.openjdk.java.net/browse/JDK-8062841
1
|
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死循環內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/tk55/archive/2020/08/20/13534108.html