Java 26 enters its second release candidate with 10 new features spanning core libraries, HotSpot, language specs, security, and client libraries, while JDK 27 targets one JEP with several candidates in the pipeline.
The Java platform continues its rapid evolution with JDK 26 reaching its second release candidate and JDK 27 on the horizon. As declared by Mark Reinhold, Chief Architect of the Java Platform Group at Oracle, JDK 26's feature set is now locked following the Rampdown Phase One in early December 2025. The formal release is scheduled for March 17, 2026, with only critical bug fixes approved through the Fix-Request process moving forward.
JDK 26: The Final Feature Set
The upcoming release introduces 10 new features organized across five categories:
Core Java Library (5 JEPs)
JEP 500: Prepare to Make Final Mean Final - This JEP addresses the long-standing ambiguity around "final" in Java, preparing the ground for more consistent finality semantics across the platform.
JEP 517: HTTP/3 for the HTTP Client API - Building on the existing HTTP/2 support, this feature brings HTTP/3 capabilities to the modern HTTP Client API, enabling better performance over unreliable networks.
JEP 525: Structured Concurrency (Sixth Preview) - This is the sixth preview of structured concurrency, which simplifies concurrent programming by treating groups of related tasks as a single unit of work. The preview includes a new onTimeout() method in the StructuredTaskScope.Joiner interface, allowing implementations to return results after timeouts expire.
JEP 526: Lazy Constants (Second Preview) - The second preview of lazy constants introduces optimizations for constant expressions that are expensive to compute, deferring their evaluation until actually needed.
JEP 529: Vector API (Eleventh Incubator) - Now in its eleventh incubation phase, the Vector API continues to evolve without substantial implementation changes since JDK 25. It provides an API for expressing vector computations that reliably compile to optimal vector instructions on supported CPU architectures, achieving performance superior to equivalent scalar computations.
HotSpot (2 JEPs)
JEP 516: Ahead-of-Time Object Caching with Any GC - This JEP enhances JEP 483 (Ahead-of-Time Class Loading & Linking) from JDK 24, extending its benefits to any garbage collector, including the low-latency Z Garbage Collector (ZGC).
JEP 522: G1 GC: Improve Throughput by Reducing Synchronization - The G1 garbage collector receives optimizations to reduce synchronization overhead between application threads and GC threads, improving overall throughput.
Java Language Specification (1 JEP)
JEP 530: Primitive Types in Patterns, instanceof, and switch (Fourth Preview) - Following three previous previews, this fourth preview includes two key changes: enhanced definition of unconditional exactness and tighter dominance checks in switch constructs.
Security Library (1 JEP)
JEP 526: PEM Encodings of Cryptographic Objects (Second Preview) - This second preview renames the PEMRecord class to PEM and enhances the PEMEncoder and PEMDecoder classes to support encryption and decryption of KeyPair and PKCS8EncodedKeySpec classes.
Client Library (1 JEP)
JEP 504: Remove the Applet API - The long-deprecated Applet API is finally removed, marking the end of an era for Java in the browser.
Project Integration
Several of these features align with Java's major incubation projects:
Project Amber drives language enhancements like primitive types in patterns (JEP 530), continuing its mission to make Java code more concise and readable.
Project Loom advances with structured concurrency (JEP 525), simplifying concurrent programming through the concept of treating related tasks as a single unit of work.
Project Panama continues incubating the Vector API (JEP 529), which will eventually integrate with Project Valhalla's features once they become available as preview features.
Project Valhalla influences the Vector API's future direction and contributes to the broader vision of value types and objects.
Project Leyden (though not explicitly mentioned in the JEPs) continues its work on startup and warmup optimizations that complement features like ahead-of-time object caching.
JDK 27: Early Preview
Looking ahead to JDK 27, scheduled for a GA release in September 2026, only one JEP has been officially targeted so far:
JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3 - This JEP enhances the implementation of RFC 8446 (TLS 1.3) using the Hybrid Key Exchange specification being drafted by the IETF, in conjunction with JEP 496 (Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism) from JDK 24.
However, several JEP candidates and drafts suggest potential inclusions:
JEP 401: Value Classes and Objects (Preview) - Under Project Valhalla, this preview introduces value objects defined by final fields, lack of identity, and distinction solely by field values.
JEP Draft 8376595: Lazy Constants (Third Preview) - The third preview removes isInitialized() and orElse() methods from the LazyConstant interface (as they don't align with design goals) and adds a new ofLazy() factory method for creating stable, pre-defined elements for List, Set, and Map collections.
JEP Draft 8329758: Faster Startup and Warmup with ZGC - This draft proposes enhancing ZGC to allocate memory more efficiently in response to application needs, minimizing startup time by creating only a small initial heap.
Oracle is expected to target additional JEPs for JDK 27 in the coming months, building on the foundation established in JDK 26.
Looking Forward
The Java platform's evolution demonstrates Oracle's commitment to balancing innovation with stability. JDK 26's mix of language enhancements, performance optimizations, and security improvements addresses both developer productivity and runtime efficiency. The continued preview and incubation cycles allow the community to provide feedback before features become permanent, ensuring that Java remains both cutting-edge and reliable.
The progression from JDK 26 to JDK 27 shows a clear trajectory toward post-quantum cryptography, improved startup performance, and enhanced language capabilities. As these features mature through their preview and incubation phases, developers can anticipate a more performant, secure, and expressive Java platform in the years ahead.
For developers planning their Java strategy, JDK 26 represents a significant step forward with its comprehensive feature set, while JDK 27 promises to build on this foundation with advanced security and performance capabilities. The Java ecosystem continues to demonstrate its ability to evolve while maintaining the stability and backward compatibility that have made it a cornerstone of enterprise computing for over two decades.

Comments
Please log in or register to join the discussion