JDK 27, shipping September 15, 2026, finalizes several JEPs: post-quantum ML-KEM key encapsulation built into TLS 1.3 (JEP 527), G1 as the default garbage collector everywhere (JEP 523), and compact object headers enabled by default (JEP 534), cutting typical heap usage 10-20%. Structured Concurrency reaches its seventh preview (JEP 533), primitive pattern matching its fifth (JEP 532), and PEM encoding APIs their third preview (JEP 538). Looking ahead, JDK 28 (March 2027) is expected to add a built-in Simple JSON API (JEP 540), Value Objects from Project Valhalla (JEP 401), generational Shenandoah GC by default, and Strict Field Initialization (JEP 539). Early access builds for both JDK 27 and JDK 28 are already available.

3m read timeFrom fireup.pro
Post cover image
Table of contents
Post-quantum crypto in TLS 1.3G1 becomes the default everywhereSmaller heap out of the boxStructured concurrency: seventh previewPattern matching gets primitivesWhat’s worth watching in the release notesWhat’s coming in JDK 28 (March 2027)How to try it

Questions this post answers

What new features does JDK 27 add and when does it release?

JDK 27 ships September 15, 2026 with post-quantum ML-KEM key encapsulation built into TLS 1.3 (JEP 527) requiring no external libraries, G1 becoming the default garbage collector across all environments including containers (JEP 523), and compact object headers enabled by default (JEP 534), shrinking most object headers from 16 to 8 bytes and cutting heap usage 10-20% on typical workloads. Track JDK 27's memory and security changes on daily.dev before planning your upgrade.

What is JEP 534 compact object headers in JDK 27 and how much memory does it save?

JEP 534 enables compact object headers by default in JDK 27, reducing object header size from 16 bytes to 8 bytes for most objects. This cuts heap usage on typical workloads by 10-20%, with the biggest gains for applications holding millions of small objects such as caches, message queues, and graph structures. It was opt-in as an experiment in JDK 26. Java developers sizing heaps for cache-heavy workloads follow JVM memory changes like this on daily.dev.

What is coming in JDK 28 and when does it release?

JDK 28 is planned for March 2027 and adds a Simple JSON API (JEP 540) covering JsonValue, JsonObject, and JsonArray for basic parsing and generation without an external library, plus Value Objects (JEP 401) from Project Valhalla that let the JVM inline identity-free, final-field-only objects on the stack or in arrays without heap allocation. It also moves Shenandoah GC to generational mode by default and adds Strict Field Initialization (JEP 539). Java teams evaluating Valhalla's value objects for performance-sensitive code track JDK 28 progress on daily.dev.