$30 off During Our Annual Pro Sale. View Details »

Java Performance Revolution

Java Performance Revolution

Java is not what it used to be. It's much better, powerful, and flexible.

With a rapid, reliable release cadence and a relentless focus on performance, Java has quietly become one of the fastest platforms for building modern applications. From virtual threads that simplify high-concurrency code, to innovations like Class Data Sharing (CDS), Coordinated Restore at Checkpoint (CRaC), and GraalVM native image compilation, the language and its ecosystem are evolving in powerful ways.

In this presentation, we’ll explore how these innovations aren’t just incremental—they’re transformative. We’ll connect the dots between the features, the tooling, and the ecosystem that’s making Java faster to start, leaner in memory, and more efficient at scale than ever before. Through real-world benchmarks and examples, we’ll see how modern Java rivals—and sometimes surpasses—newer, trendier platforms in raw performance and developer productivity.

Whether you're building greenfield systems or optimizing legacy code, you’ll leave with a fresh perspective on how you can address almost any issues you used to have with Java performance and flexibility in the past.

Avatar for OmniFish Presentations

OmniFish Presentations

December 19, 2025
Tweet

More Decks by OmniFish Presentations

Other Decks in Programming

Transcript

  1. Next Reset Back Next JAVA PERFORMANCE REVOLUTION A journey to

    lightning-fast applications Ondro Mihalyi OmniFish OmniFish - Modern Jakarta EE runtimes
  2. Java: The Misunderstood Genius Next Reset Back Next Java: write

    once, run away! "If Java had true garbage collection, most programs would delete themselves upon execution." "Java's execution speed is like waiting for a glacier to move — slow and steady, but mostly just slow." Java has been the butt of performance jokes for decades OmniFish - Modern Jakarta EE runtimes
  3. Make it Right, Then Make it Fast Next Reset Back

    Next "Make it correct, make it clear, make it concise, make it fast. In that order." - Wes Dyer OmniFish - Modern Jakarta EE runtimes ✅ Correct: Focus on language fundamentals first ✅ Clear: OOP, interfaces, strong typing ✅ Concise: Lambdas, records, pattern matching 🚀 Fast: Now it's time for speed!
  4. From Interpreted to Optimized Next Reset Back Next The Early

    Days Java < 1.2: Interpreted execution 10-20x slower than C The Evolution JIT compilation improvements Continuous performance improvements OmniFish - Modern Jakarta EE runtimes
  5. Java's Speed Evolution by the Numbers Next Reset Back Next

    JDK 6: Register allocation improvements → 60% faster JDK 11: G1 GC → 5% faster than JDK 8 JDK 18: G1 GC → 18% faster than JDK 8 Modern JDKs: Generational ZGC, Virtual Threads, Project Leyden Innovative Extensions: Native compilation (GraalVM), CRaC OmniFish - Modern Jakarta EE runtimes
  6. Write Once, Run Faster and Faster Next Reset Back Next

    Java is now a top-tier platform for high- performance applications Code written once runs faster with each JVM generation Language evolution + JVM optimization = Continuous performance gains OmniFish - Modern Jakarta EE runtimes
  7. Modern Java Performance Technologies Next Reset Back Next Startup Optimization

    Class Data Sharing (CDS) Project Leyden (AOT Cache) Coordinated Restore at Checkpoint (CRaC) Runtime Performance Virtual Threads Advanced GC (ZGC, G1) GraalVM Native Images Future Innovations Project Valhalla Continued JIT improvements OmniFish - Modern Jakarta EE runtimes
  8. What We'll Explore Today Next Reset Back Next Part 1:

    Java Startup Phases & JIT Performance Part 2: Startup Optimization Technologies Part 3: Jakarta EE Performance Revolution Part 4: Real-world Impact & Implementation OmniFish - Modern Jakarta EE runtimes
  9. Java Startup Phases & JIT Performance Animate Reset Back Next

    Time OmniFish - Modern Jakarta EE runtimes High Medium Low Very Low Performance
  10. Java Startup Methods Comparison Start Comparison Reset Back Next →

    → → → → → → → → → → OmniFish - Modern Jakarta EE runtimes Plain Java Read Bytecode JIT Compile Execute CDS Dummy Execution Read Bytecode Store Index File Load Class Info from Index Cold execution JIT Warmed up Cache AOT Dummy Execution Read Bytecode Store Index + JIT Info Class and JIT Info from Index Execute Warmed up Further JIT Phase 1: Preparation Phase 2: Execution Phase 1: Preparation Phase 2: Execution
  11. Java Startup Methods Comparison Start Native Phase 1 Reset Back

    Start → → → → AOT Cache Startup Time: Fast Setup Required: Index + optional warm up Runtime JIT: Yes Memory footprint: Standard JVM → → → → → Cache AOT Dummy Execution Read Bytecode Store Index + JIT Info Class and JIT Info from Index Execute Warmed up Further JIT Binaries Native Compilation with GraalVM Produces native binary Cold execution No JIT with PGO Native Compilation with GraalVM Produces native binary Dummy execution Simulate production load Store profile Re-compile with the profile Phase 1: Preparation Phase 2: Execution Phase 1: Compilation Phase 2: Execute native binary Phase 1: Compilation Phase 2: Profile Collection Phase 3: Re-compile with profile Phase 4: Execute
  12. Java & Jakarta EE Performance Revolution More Reset Back Next

    Java Performance Revolution OmniFish - Modern Jakarta EE runtimes CDS (Java 13) Class Data Sharing Faster startup » AOT Cache (Java 24) Ahead-of-Time Pre-compiled code » CRaC (special JVM) Coordinated Restore Instant startup » Native Binaries (GraalVM) GraalVM Native Minimal footprint
  13. Key Takeaways Next Reset Back Next Java is still here,

    after 30 years, stronger and faster than ever ✅ Performance revolution through JIT improvements and new technologies ✅ Startup optimization with CDS, AOT Cache, CRaC, and Native compilation ✅ Jakarta EE modernization for cloud-native applications ✅ Continuous evolution with predictable release cycles OmniFish - Modern Jakarta EE runtimes