Christian Woerz
Java 21: The Revolution of Virtual Threads - A Deep Dive
#1about 6 minutes
Building a traditional blocking web application
A live coding demonstration shows how to build a standard blocking API with Spring Boot and how its performance degrades under load.
#2about 5 minutes
Understanding the limitations of platform threads
Creating thousands of traditional platform threads demonstrates their high memory consumption, 1:1 mapping to OS threads, and eventual OutOfMemoryError.
#3about 12 minutes
Improving performance with a reactive approach
Refactoring the blocking API to use asynchronous programming with CompletableFuture solves the performance bottleneck but introduces significant code complexity.
#4about 7 minutes
How virtual threads solve the concurrency problem
Virtual threads are lightweight, JVM-managed threads that run on a small pool of carrier threads, enabling millions of concurrent tasks without high memory overhead.
#5about 4 minutes
Enabling virtual threads in a Spring Boot application
A single configuration flag in Spring Boot 3.2 is all that's needed to switch the application to use virtual threads for handling requests.
#6about 8 minutes
Managing parallel tasks with structured concurrency
StructuredTaskScope provides a modern API to run multiple blocking operations concurrently in separate virtual threads, simplifying parallel code.
#7about 4 minutes
Understanding the limitations of virtual threads
Virtual threads can be "pinned" to their carrier thread by synchronized blocks, native calls, or CPU-intensive tasks, which negates their benefits.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
11:15 MIN
Understanding the new virtual threads model
Modern Java: This is not your father's Java anymore
18:22 MIN
Solving blocking issues with Project Loom's virtual threads
Java's Project Loom & Co - the end for reactive programming?
43:46 MIN
Q&A on virtual threads, reactive programming, and Java 21
Introduction and pitfalls of Java's new concurrency model
01:39 MIN
Understanding the goals of Java's Project Loom
Java's Project Loom & Co - the end for reactive programming?
43:51 MIN
Comparing Project Loom with reactive programming
Kubernetes Native Java
52:04 MIN
Q&A on GraalVM, Project Loom, and gRPC
Bootiful Spring Boot 3
39:11 MIN
What's new in the Java 21 LTS release
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
23:08 MIN
Q&A on Project Loom and integration challenges
Side-by-Side: Reactive vs non-reactive Java
Featured Partners
Related Videos
Introduction and pitfalls of Java's new concurrency model
David Vlijmincx
Java's Project Loom & Co - the end for reactive programming?
Jan Weinschenker
Modern Java: This is not your father's Java anymore
Ron Veen
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
Jonathan Vila
The Eventloop in JavaScript - How does it work?
Christian Woerz
Bootiful Spring Boot 3
Josh Long
Side-by-Side: Reactive vs non-reactive Java
Jan Weinschenker
2021: Familiar APIs on Kickass Runtimes #slideless
Adam Bien
Related Articles
View all articles.gif?w=240&auto=compress,format)



From learning to earning
Jobs that call for the skills explored in this talk.


Senior Developer / Tech Lead - Java (Spring Boot) & JavaScript
Interactivated Solutions Europe
Senior
GIT
NoSQL
Vue.js
TypeScript






