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.
Featured Partners
Related Videos
Introduction and pitfalls of Java's new concurrency model
David Vlijmincx
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
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
Best of Java 15 and beyond—my favorite features
Michael Inden
Route from Java to Kotlin
Christian Woerz
From learning to earning
Jobs that call for the skills explored in this talk.
FULL-STACK JAVA SPRINGBOOT Y ANGULAR DEVELOPER
VIEWNEXT
A Coruña, Spain
Remote
Intermediate
Java
Kafka
Docker
MongoDB
+2
FULL-STACK JAVA SPRINGBOOT Y ANGULAR DEVELOPER
VIEWNEXT
Municipality of Vigo, Spain
Remote
Intermediate
Java
Kafka
MongoDB
Angular
+1
FULL-STACK JAVA SPRINGBOOT Y ANGULAR DEVELOPER
VIEWNEXT
Municipality of León, Spain
Remote
Intermediate
Java
Kafka
MongoDB
Angular
+1
FULL-STACK JAVA SPRINGBOOT Y ANGULAR DEVELOPER
VIEWNEXT
Santa Cruz de Tenerife, Spain
Remote
Intermediate
Java
Kafka
MongoDB
Angular
+1
FULL-STACK JAVA SPRINGBOOT Y ANGULAR DEVELOPER
VIEWNEXT
Municipality of Seville, Spain
Remote
Intermediate
Java
Kafka
MongoDB
Angular
+1
FULL-STACK JAVA SPRINGBOOT Y ANGULAR DEVELOPER
VIEWNEXT
Municipality of Almería, Spain
Remote
Intermediate
Java
Kafka
Docker
MongoDB
+2




