thepointman.dev_

Courses / Java Concurrency

Concurrent Collections

advanced8 lessons

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

  1. 01

    Why java.util Collections Are Not Thread-Safe

    soon
  2. 02

    ConcurrentHashMap: Java 7 Segment Locking

    soon
  3. 03

    ConcurrentHashMap: Java 8 Node-Level CAS + synchronized

    soon
  4. 04

    ConcurrentHashMap: compute(), merge(), computeIfAbsent() Atomicity

    soon
  5. 05

    ConcurrentHashMap: size() Is Approximate — Why and When It Matters

    soon
  6. 06

    ConcurrentHashMap: No Null Keys or Values — The Reasoning

    soon
  7. 07

    CopyOnWriteArrayList — Write Cost, Snapshot Iterators and When to Use It

    soon
  8. 08

    ConcurrentLinkedQueue and ConcurrentSkipListMap — Lock-Free Structures

    soon