Get The Most Out of Virtual Threads in Java 25: A Deep Dive
summary
Demonstrates concrete Java 25 changes: synchronized detaching fixed so virtual threads no longer block worker threads (100 virtual threads over 10 workers drops from ~10s to ~1s), StructuredTaskScope API is rewritten with a custom Joiner for aggregation and cancellation, and ScopedValues are stable in Java 25 replacing ThreadLocal for scoped data. Builds a Spring Boot demo with fake blocking REST calls, runs JMeter 1,000 concurrent users for 20s, and shows subtask-based concurrency, correct error handling, and measurable 1s responses.
AI-written summary · about
chapters (10)
- 0:00Virtual threads intro
- 1:41Java 21 to 25 changes
- 5:27Synchronized blocks and performance
- 9:18Real app with virtual threads
- 15:33Structured concurrency in Java 25
- 21:56Reusable joiner implementations
- 28:56JMeter performance testing
- 31:44Scoped values vs thread locals
- 39:59Recap: virtual threads & structured concurrency
- 40:42Q&A
related talks
50mGet The Most Out of Virtual Threads in Java 25 -A Deep Dive into the Latest Achievements of Virtual
44mStructuredTaskScope And ScopedValue - Get The Most Out of Virtual Threads
49mStructuredTaskScope And ScopedValue - Get The Most Out of Virtual Threads
46mJava 21: The revolution of virtual threads - A Deep dive
51mJava 21: The revolution of virtual threads
46mJava 21: The Revolution of Virtual Threads - A Deep Dive
44mStructuredTaskScope And ScopedValue - Get The Most Out of Virtual Threads
01h 03mBeyond Virtual Threads: Structured Concurrency
