Foojay Podcast #101: Java 27 in Practice: Smaller Heaps, Smarter Defaults, and Valhalla on the Horizon
- September 14, 2026
- 3 min read
JDK 27 arrives on 15 September 2026, and it is a feature release rather than a Long-Term Support one. That distinction matters less than it sounds: as Simon Ritter points out, all OpenJDK releases are delivered the same way, and "long-term support" is a property of the binary distributions you install, not of the platform itself. What JDK 27 does have is two changes that switch on by default and cost you nothing but the upgrade. Compact object headers shrink the per-object header from 64 bits to 32, which the JEP measures at a 22% reduction in heap and 8% in CPU on SPECjbb2015 — and because it is internal to the JVM, a JAR you built years ago benefits without a single line changing. Alongside it, G1 becomes the default garbage collector everywhere, including the small, single-core machines that used to fall back to the serial collector.
Simon Ritter is Deputy CTO at Azul and a Java Champion, and he walks through all nine JEPs in the release. Beyond the two performance defaults, there is a security cluster worth knowing about: post-quantum hybrid key exchange for TLS 1.3, which is a defence against attackers harvesting encrypted traffic now to decrypt it later; JFR in-process data redaction, so flight recordings can be shared without leaking access tokens from environment variables or passwords from system properties; and a third preview of PEM encodings, where the primary class went back from a record to an ordinary class — a small design story Simon unpacks nicely. The previews inch along too: lazy constants (renamed from stable values), primitive types in patterns in its fifth preview, structured concurrency in its seventh, and the Vector API in a twelfth incubator that is essentially finished and waiting on Valhalla.
We also cover the shift from quarterly to monthly security updates that began in August 2026, and what that means for anyone maintaining a release pipeline. Then we look ahead to Java 28 in March 2027, where after roughly twelve years Project Valhalla finally lands its first preview: Value Objects, together with Strict Field Initialization. That is around 179,000 lines across 1,800 files, a new value keyword, and a change to how you think about writing classes. Simon is candid about what it will not be — don't expect it final in JDK 29 — and equally candid about the Simple JSON API landing in 28, which he suspects may follow string templates rather than survive its previews.
YouTube
Podcast Apps
You can listen and subscribe to the Foojay Podcast on:
- Spotify
- Apple Podcasts
- And most others...
Guests
- Simon Ritter - Deputy CTO at Azul, Java Champion
Links
- The release
- Security updates between releases
- Performance defaults in JDK 27
- Security and observability in JDK 27
- Previews and incubators in JDK 27
- Looking ahead to JDK 28
Content
- 00:00 Introduction of the topic and guest
- 01:27 How long Simon has been doing Java
- 01:54 Why release 27 is important, even when not being a Long Term Support release
- 04:55 Quarterly and monthly security updates between new version releases
- 08:07 Which JVM versions are most used in companies
- 09:23 JEP 534: Compact Object Headers by Default
- 14:51 JEP 523: Make G1 the Default Garbage Collector in All Environments
- 18:59 JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3
- 22:55 JEP 538: PEM Encodings of Cryptographic Objects (Third Preview)
- 25:35 JEP 536: JFR In-Process Data Redaction
- 28:02 JEP 531: Lazy Constants (Third Preview)
- 29:55 JEP 532: Primitive Types in Patterns, instanceof, and switch (Fifth Preview)
- 33:13 JEP 533: Structured Concurrency (Seventh Preview)
- 38:21 JEP 537: Vector API (Twelfth Incubator)
- 40:28 Looking forward to Java 28 and the first improvements from Project Valhalla
- 42:31 Changes delivered by JEP 401: Value Objects and JEP 539: Strict Field Initialization
- 47:36 Can we expect this to be finalized in Java 29?
- 48:26 LTS releases every 1, 2, or 3 years?
- 49:55 JEP 541: Deprecate macOS/x64
- 51:53 JEP 540: Simple JSON API (Incubator)
- 55:30 Conclusion, what to remember from the 28 release
- September 14, 2026
- 3 min read
Comments (0)
No comments yet. Be the first.