Session
Virtual Threads at Scale: What Happens When You Put Java 25's Biggest Feature Under Real Production
Virtual Threads were the most anticipated feature in Java's recent history but the benchmarks in blog posts tell a very different story from what happens when you actually deploy them at scale. This talk is that story.
Drawing on hands-on benchmarking across I/O-bound, CPU-bound, and mixed microservice workloads on Java 21 through Java 25, I'll share what actually changed, what surprised us, and where the boundaries of virtual threads still live. We'll compare thread-per-request, reactive (WebFlux), and virtual thread models with real latency and throughput numbers not theoretical claims.
Concrete topics include: pinning issues and how Java 25 resolved synchronized block pinning, the interaction between virtual threads and connection pooling (HikariCP, R2DBC), when reactive programming still wins, memory footprint comparisons at 10K concurrent requests, and the JFR profiling technique I now use as standard for diagnosing concurrency regressions.
This is the talk I wish had existed before I started.
Garima Agarwal
Application Developer
Mercerville-Hamilton Square, New Jersey, United States
Links
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top