Everything You Don’t Want to Know About Concurrency on the JVM
summary
The talk examines JVM concurrency mechanisms—synchronized (monitors), ReentrantLock, and java.util.concurrent.atomic types—comparing their implementations and trade-offs. It digs into implementation details like adaptive locking, what threads do when parked, futexes, and how Atomics map to hardware-level locking, and gives performance, scalability implications and practical advice on when to use each mechanism.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:15Author’s background
- 3:50Java concurrency locks
- 8:09Synchronized under the hood
- 11:49Fast lock inflation
- 14:00Object monitors
- 17:34Inflation details
- 20:57JVM lock optimizations
- 23:08ReentrantLock
- 25:20Lock performance ARM
- 27:50Custom locks with conditions
- 28:54Atomic variables
- 33:31Lock-free algorithms
- 35:19Universal scalability law
- 38:25Benchmarking locks
- 40:39Atomics vs locks
related talks
50mFlavors of Concurrency in Java
48mHandling concurrent access to shared resources in Java
01h 02mUnder the Hood of Java Synchronization
45mThe Hidden Art of Thread-Safe Programming: Exploring java.util.concurrent
47mA Deeper Dive into Java Concurrency Updates
39mLet's talk concurrency
49mUnconventional memory model extensions in practice
52mSTM and Structured Concurrency — The Battle with Multithreading Dragons
