JEPs in JDK 21 integrated since JDK 17
Here are all of the JEPs integrated since JDK 17, which was the previous long-term-support (LTS) release from most vendors. Preview and Incubator JEPs that were superseded by later JEPs in JDKs 18 through 21 are not included. The release in which a JEP was integrated is shown in parentheses after the JEP’s title.
Additions
| HotSpot JVM | |
|---|---|
| 422: | Linux/RISC-V Port (19) |
| Garbage Collectors | |
| 439: | Generational ZGC (21) |
| Serviceability | |
| 451: | Prepare to Disallow the Dynamic Loading of Agents (21) |
| Language | |
| 441: | Pattern Matching for switch (21) |
| 440: | Record Patterns (21) |
| Libraries | |
| 444: | Virtual Threads (21) |
| Collections | |
| 431: | Sequenced Collections (21) |
| Cryptography | |
| 452: | Key Encapsulation Mechanism API (21) |
| I/O | |
| 400: | UTF-8 by Default (18) |
| Networking | |
| 418: | Internet-Address Resolution SPI (18) |
| 408: | Simple Web Server (18) |
| Reflection & Method Handles | |
| 416: | Reimplement Core Reflection with Method Handles (18) |
| Tools | |
| JavaDoc | |
| 413: | Code Snippets in Java API Documentation (18) |
Preview & Incubating
| Language | |
|---|---|
| 430: | String Templates (Preview) (21) |
| 445: | Unnamed Classes and Instance Main Methods (Preview) (21) |
| 443: | Unnamed Patterns and Variables (Preview) (21) |
| Libraries | |
| 442: | Foreign Function & Memory API (Third Preview) (21) |
| 446: | Scoped Values (Preview) (21) |
| 453: | Structured Concurrency (Preview) (21) |
| 448: | Vector API (Sixth Incubator) (21) |
Deprecations
| HotSpot JVM | |
|---|---|
| 449: | Deprecate the Windows 32-bit x86 Port for Removal (21) |
| Libraries | |
| 421: | Deprecate Finalization for Removal (18) |