Add lru-cache module: LinkedHashMap and hand-rolled DLL LRU, coarse-lock/striped thread-safe variants, broken ReadWriteLock demo, Caffeine reference, 43 tests, JMH harness

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b4VQVEJWetTT1dYzyJ
This commit is contained in:
2026-10-29 05:52:27 +00:00
co-authored by Claude Sonnet 5.5
parent 4a376b94e9
commit 0457cf4bfb
31 changed files with 1425 additions and 0 deletions
@@ -0,0 +1,12 @@
LinkedHashMap(accessOrder=true), start [1, 2, 3] (LRU -> MRU): does the call move key 1?
========================================================================================
get(1) -> order [2, 3, 1] key 1 moved to MRU end: true
put(1, "x") (existing key) -> order [2, 3, 1] key 1 moved to MRU end: true
getOrDefault(1, "-") -> order [2, 3, 1] key 1 moved to MRU end: true
putIfAbsent(1, "x") (key present) -> order [2, 3, 1] key 1 moved to MRU end: true
computeIfAbsent(1, k -> "x") (key present) -> order [2, 3, 1] key 1 moved to MRU end: true
containsKey(1) -> order [1, 2, 3] key 1 moved to MRU end: false
keySet() iteration -> order [1, 2, 3] key 1 moved to MRU end: false
entrySet() iteration -> order [1, 2, 3] key 1 moved to MRU end: false
size() -> order [1, 2, 3] key 1 moved to MRU end: false