A Dev Persepctive on Java Loom
summary
Java 21 ships stable virtual threads and the tests here create 1 million → 64 million in under 5s using only 3–8 carrier (OS) threads, versus a platform-thread limit around ~32k. Memory scales roughly ~1 KB per virtual thread, and ZGC shows best results in these experiments. Monitoring relies on JFR virtual-thread events, jcmd thread dumps and configuring the carrier fork pool and heap max; structured concurrency and scoped values remain preview features to test before replacing thread‑local usage.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:32Java Loom features
- 2:36Java concurrency evolution
- 3:17Thread-per-request problems
- 5:27Reactive programming challenges
- 6:55Virtual threads solve issues
- 9:20Virtual threads principles
- 11:10Performance test
- 15:56Thread unmounting limits
- 17:02Monitoring virtual threads
- 19:08Configuring virtual threads
- 21:22Loom-friendly code
- 23:08Virtual threads in Quarkus/Helidon
- 25:40Benchmarking virtual threads in applications
- 27:27Short-term actions
- 28:08Mid-term prep
- 28:32Long-term adoption
- 29:16Q&A: Simple apps
- 31:11Q&A: Reactive future
- 32:16Q&A: Testing tools
- 33:44Q&A: OS context switching
- 35:32Closing
related talks
31mJava Virtual Threads
49mPrepare for what “Loom”s ahead.
47mGame of Loom 2: life and dead(lock) of a virtual thread
01h 13mProject loom: Modern scalable concurrency for the Java platform
47mThe Challenges of Introducing Virtual Threads to the Java Platform - Project Loom
54mLooming in the cores
50mVirtual threads - no pain, no gain
37mPrepare for what "Loom"s ahead
