ConcurrentHashMap: Java 7 segment locking vs Java 8 node-level CAS+synchronized, compute/merge/computeIfAbsent atomicity, size() approximation, and why null keys are forbidden. CopyOnWriteArrayList's snapshot iterator and write cost. ConcurrentLinkedQueue's Michael-Scott algorithm. ConcurrentSkipListMap.
// Lessons
- 01soon
Why java.util Collections Are Not Thread-Safe
- 02soon
ConcurrentHashMap: Java 7 Segment Locking
- 03soon
ConcurrentHashMap: Java 8 Node-Level CAS + synchronized
- 04soon
ConcurrentHashMap: compute(), merge(), computeIfAbsent() Atomicity
- 05soon
ConcurrentHashMap: size() Is Approximate — Why and When It Matters
- 06soon
ConcurrentHashMap: No Null Keys or Values — The Reasoning
- 07soon
CopyOnWriteArrayList — Write Cost, Snapshot Iterators and When to Use It
- 08soon
ConcurrentLinkedQueue and ConcurrentSkipListMap — Lock-Free Structures