Java 27 (JDK 27) became generally available on September 15, 2026. It brings nine JEPs spanning language features, concurrency, cryptography, garbage collection, object layout and diagnostics, alongside smaller release-note changes. The headline is not that every feature is ready for production: four JEPs are previews and one is incubating. The most immediate changes are runtime defaults and security or recording behavior that can affect existing applications.
Java SE 27 is the platform specification; JDK 27 is the development kit that implements it. Oracle’s release announcement and consolidated release notes describe the release as generally available.
As an Amazon Associate I earn from qualifying purchases.
What’s new in Java 27?
Oracle identifies nine JEPs as significant enhancements in JDK 27. They range from features developers can opt into during preview to changes that affect runtime defaults. The table distinguishes those categories because a preview API is not equivalent to a finalized platform feature.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minute| JEP | Change | Status and practical significance |
|---|---|---|
| 532 | Primitive Types in Patterns, instanceof, and switch |
Fifth preview. Extends pattern matching and related constructs to primitive types; still provisional. |
| 531 | Lazy Constants | Third preview. An API for unmodifiable data initialized lazily while still allowing the JVM to treat values as constants for optimization. |
| 533 | Structured Concurrency | Seventh preview. Groups related tasks running in different threads so their errors, cancellation, reliability and observability can be managed as a unit. |
| 537 | Vector API | Twelfth incubator. Expresses vector computations that can compile at runtime to CPU vector instructions on supported systems; remains incubating. |
| 527 | Post-Quantum Hybrid Key Exchange for TLS 1.3 | Combines quantum-resistant and traditional key exchange algorithms. Oracle says applicable javax.net.ssl users benefit by default without code changes. |
| 538 | PEM Encodings of Cryptographic Objects | Third preview. Adds an API for encoding and decoding cryptographic keys, certificates and certificate revocation lists in PEM format. |
| 523 | Make G1 the Default Garbage Collector in All Environments | G1 becomes the default collector across environments, rather than only server environments. |
| 534 | Compact Object Headers by Default | Compact headers become the default HotSpot object-header layout. Oracle reports 64-bit headers instead of 96-bit headers on 64-bit architectures. |
| 536 | JFR In-Process Data Redaction | Java Flight Recorder redacts command-line arguments and initial environment-variable and system-property values in recordings before data leaves the process. |
Oracle’s announcement groups four of these JEPs as previews and one as an incubator feature; the remaining JEPs are not described there as preview or incubator. See the release notes for the full change record. Oracle also characterizes the release as bringing broader improvements in cryptography, performance, I/O, diagnostics and documentation; those categories include changes beyond the nine JEPs.
Which Java 27 changes affect runtime defaults?
G1 is the default collector across environments
JEP 523 extends G1’s default status beyond server environments. A default is not a guarantee that G1 is best for every workload: teams with explicit garbage-collector settings should review them, and teams relying on defaults should compare behavior under representative application load before treating the change as a performance improvement.
Compact object headers are enabled by default
JEP 534 makes compact object headers the default HotSpot layout. Oracle’s release material gives a header-size change from 96 bits to 64 bits on 64-bit architectures. That is a layout figure, not a benchmark result or a promise of a particular heap reduction; actual application impact depends on workload and runtime conditions.
Rank #2
What should developers know about the preview and incubator features?
Preview features are provisional capabilities exposed for evaluation and feedback, not permanent Java SE features. Incubating APIs are also not finalized, and can change between releases. Their status matters for source code, builds and deployment: check the precise Java 27 compiler and runtime requirements, and verify that your production policy permits their use before adopting them. The language changes are documented in Oracle’s Java Language Updates for Release 27.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitches- Primitive patterns: useful when code needs to match or branch on primitive values using pattern-matching constructs, but still in its fifth preview.
- Lazy Constants: intended for unmodifiable data that should initialize only when needed while remaining amenable to JVM optimization; third preview.
- Structured Concurrency: provides a way to treat related concurrent tasks as one unit for handling failure and cancellation; seventh preview.
- Vector API: offers a programming model for vector operations that may map to supported CPU instructions; twelfth incubator.
- PEM encodings: supplies a Java API for common cryptographic-object PEM formats; third preview.
What security and diagnostic changes are worth checking?
Hybrid post-quantum TLS key exchange
JEP 527 combines a quantum-resistant key-exchange algorithm with a traditional one for TLS 1.3. Oracle says applications using javax.net.ssl receive the benefit by default without code changes. Check security configuration and interoperability requirements for your deployment rather than assuming every TLS client, server or configuration behaves identically.
JFR redacts selected recorded values in-process
JEP 536 redacts command-line arguments and initial values of environment variables and system properties in Java Flight Recorder recordings before the data leaves the process. This addresses sensitive values in recordings, but does not establish that every possible secret or data source is redacted. Review what your application records and who can access the resulting recordings.
More operational diagnostics
The release notes add a jcmd VM.security_properties diagnostic, Bash completion for jcmd, and current open-file-descriptor counts in diagnostics. They also list TLS 1.3 certificate compression using zlib and Foreign Function and Memory API support for initializing thread-local execution state before downcalls. These are among the additional changes beyond the nine JEPs; consult the full release notes for detail.
Rank #4
What compatibility issues should an upgrade review include?
Oracle’s JDK 27 notes distinguish source, binary and behavioral compatibility issues, and advise reviewing both the release notes and platform specification. One concrete cryptographic change concerns ML-KEM and ML-DSA private keys: Java 27 changes their default encoding to seed. Older JDKs do not accept keys generated in that default format by default. Where older-runtime compatibility is required, Oracle’s notes describe selecting expandedKey and translating as needed. Check the exact migration guidance in Significant Changes in JDK 27 Release.
Free tools Windows power users keep installed
One-click scans. No signup required.
- Inventory preview or incubator APIs before upgrading; do not assume provisional APIs are permanent.
- Check whether explicit collector or object-layout options interact with the new defaults.
- Test TLS interoperability and cryptographic key exchange in the environments you actually deploy.
- Review serialization, key-generation and cross-version workflows that use ML-KEM or ML-DSA private keys.
- Test source, binary and behavioral compatibility, not just whether the application compiles.
Is Java 27 released, and how long is it supported?
Yes. Oracle announced JDK 27 general availability on September 15, 2026. Oracle says it will provide JDK 27 updates until March 2027, when Oracle JDK 28 supersedes it. This is Oracle’s stated update window, not a universal lifecycle promise for every JDK distributor.
Best Value
Amazon says Corretto 27 is available for Linux, Windows and macOS and will be supported through April 2027. That date applies to Corretto specifically; vendors set their own support and update policies. See the Corretto 27 announcement.
Should you upgrade to Java 27?
Java 27 is worth evaluating if you need its security and diagnostic changes, want to test the new defaults, or are ready to assess its APIs. For production adoption, separate finalized runtime changes from preview and incubator experiments, then run compatibility and workload tests on the exact distribution and configuration you plan to deploy. Compact headers and G1 defaults are meaningful platform changes, but the release material does not establish a universal performance gain.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




