Java Performance Update 2024
summary
Five concrete wins and how they behave: MergeStore bulk-write optimization lets the JIT combine many byte writes into one machine store (works only when offsets stay static, otherwise it deoptimizes), the foreign-memory bulk ops are rewritten in Java and beat native on Linux aarch64, ZGC flips to generational-by-default in JDK 24, compact object headers cut real-world memory by ~10–20% and improve cache use, and string-concat hidden-class generation cuts startup time ~40% and codegen cost ~50%—all validated with JMH microbenchmarks and large CI suites.
AI-written summary · about
chapters (14)
- 0:00Introduction to Java performance
- 1:26OpenJDK projects overview
- 5:22Performance metrics explained
- 10:47Benchmarking challenges and tips
- 14:12Java benchmarking tools
- 18:24JVM lifecycle and tiering
- 21:03Compiler optimization strategies
- 32:20Recent performance improvements
- 35:22FFM API and bulk operations
- 39:00Secondary super cache scaling
- 40:48String concatenation and startup
- 42:31Generational ZGC updates
- 44:26Compact object headers
- 45:37Future directions and Q&A
related talks
41mJava 24, Faster Than Ever
51mJava Performance Update: From JDK 21 to JDK 25
48mJust-In-Time Compilation for Java Performance: Recent and Ongoing Improvements
51mJava 24 - Better Language, Better APIs, Better Runtime
48mJava 9 Performance
35mJava at Speed: Building a Better JVM
01h 05mTo #Java 24 and Beyond
45mFive Java Features You Didnt Know About
