Add hashmap-vs-concurrenthashmap module: JDK 25 sizeCtl/treeify internals, forced and measured lost updates

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b7rnC7jppGGdHGESvy
This commit is contained in:
2026-10-28 18:07:37 +00:00
co-authored by Claude Sonnet 5.5
parent 715036b640
commit f80e1079a8
24 changed files with 958 additions and 0 deletions
@@ -0,0 +1,16 @@
12 colliding keys (all hashCode()==1, so bin index 1) inserted into HashMap and ConcurrentHashMap
=================================================================================================
insert | HashMap table[1] (length) | ConcurrentHashMap table[1] (length, sizeCtl)
#1 | Node (length 16 ) | Node (length 16 , sizeCtl 12)
#2 | Node (length 16 ) | Node (length 16 , sizeCtl 12)
#3 | Node (length 16 ) | Node (length 16 , sizeCtl 12)
#4 | Node (length 16 ) | Node (length 16 , sizeCtl 12)
#5 | Node (length 16 ) | Node (length 16 , sizeCtl 12)
#6 | Node (length 16 ) | Node (length 16 , sizeCtl 12)
#7 | Node (length 16 ) | Node (length 16 , sizeCtl 12)
#8 | Node (length 16 ) | Node (length 16 , sizeCtl 12)
#9 | Node (length 32 ) | Node (length 128, sizeCtl 96)
#10 | Node (length 64 ) | TreeBin (length 128, sizeCtl 96)
#11 | TreeNode (length 64 ) | TreeBin (length 128, sizeCtl 96)
#12 | TreeNode (length 64 ) | TreeBin (length 128, sizeCtl 96)