Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01B38FGKKam5SCGgwgduVAh3
3.2 KiB
1. What shipped, and what to believe
Next: 2. G1 becomes the default
Java 27 reached General Availability on 2026-09-15. It is not an LTS: Oracle's support roadmap lists Premier support for 27 until March 2027, and names Java 29 (September 2027) as the next LTS after 25. Everything in this repository was run on real JDK binaries; where a claim comes from prose rather than from a run, the chapter says so.
The nine JEPs in 27
| JEP | Title | Status in 27 | Chapter |
|---|---|---|---|
| 523 | Make G1 the Default Garbage Collector in All Environments | final | 2 |
| 534 | Compact Object Headers by Default | final | 3 |
| 527 | Post-Quantum Hybrid Key Exchange for TLS 1.3 | final | 4 |
| 532 | Primitive Types in Patterns, instanceof, and switch | fifth preview | 5 |
| 531 | Lazy Constants | third preview | 6 |
| 533 | Structured Concurrency | seventh preview | 7 |
| 538 | PEM Encodings of Cryptographic Objects | third preview | 8 |
| 536 | JFR: In-Process Data Redaction | final | 9 |
| 537 | Vector API | twelfth incubator | 9 |
The ten JEPs in 26 (the release many teams skipped)
| JEP | Title | Status in 26 | Chapter |
|---|---|---|---|
| 500 | Prepare to Make Final Mean Final | final | 11 |
| 504 | Remove the Applet API | final | 11 |
| 516 | Ahead-of-Time Object Caching with Any GC | final | 11 |
| 517 | HTTP/3 for the HTTP Client API | final | 11 |
| 522 | G1 GC: Improve Throughput by Reducing Synchronization | final | 11 (not measured here) |
| 524 | PEM Encodings of Cryptographic Objects | second preview | 8 |
| 525 | Structured Concurrency | sixth preview | 7 |
| 526 | Lazy Constants | second preview | 6 |
| 529 | Vector API | eleventh incubator | 9 |
| 530 | Primitive Types in Patterns, instanceof, and switch | fourth preview | 5 |
How the list was verified
openjdk.org/jeps and jdk.java.net/27 returned HTTP 403 from the sandbox used to write this, and no workaround was attempted. The lists were cross-checked between the Inside.java release announcement, Oracle's release blog, InfoWorld's and foojay's write-ups, and then against the binaries: the JDK 27 and 26 builds used here were diffed class by class (51, 52), which is how two API names in a secondary write-up were corrected. Treat the JEP titles above as "as reported by four secondary sources"; treat every behaviour as "observed on Corretto 26.0.2.1 / 27+35".
What was not reproduced
- JDK-8377013 (a reported
TimeZone.getDefault()regression) could not be reproduced and is left out. - HTTP/3 was never spoken to a real HTTP/3 server: the sandbox has no UDP egress (11).
- JEP 522 (G1 synchronization) was not benchmarked.