JDK 23 · 2024-09-17
JDK 23:ZGC 分代默认
ZGC 分代模式成为默认,Markdown 文档注释、模块导入声明预览,sun.misc.Unsafe 内存访问方法被弃用;String Templates 被撤回。
12官方 JEP 数
2正式特性
3预览 / 孵化
1移除 / 弃用
代表特性HIGHLIGHTS
这些是这一版最值得记住的变化。状态标签区分「正式 / 预览 / 孵化 / 移除」——预览不等于稳定,迁移时要特别确认。
全部 JEP12
数据来自 OpenJDK 官方 Features 表。中文名称仅为主要特性的人工标注。
| JEP | 标题 | 状态 | 来源 |
|---|---|---|---|
| JEP 455 | Primitive Types in Patterns, instanceof, and switch (Preview) | — | 官方 → |
| JEP 466 | Class-File API (Second Preview) | — | 官方 → |
| JEP 467 | Markdown Documentation Comments Markdown 文档注释 | 正式 | 官方 → |
| JEP 469 | Vector API (Eighth Incubator) | — | 官方 → |
| JEP 473 | Stream Gatherers (Second Preview) | — | 官方 → |
| JEP 471 | Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal 弃用 Unsafe 内存访问 | 弃用 | 官方 → |
| JEP 474 | ZGC: Generational Mode by Default ZGC 分代模式默认 | 正式 | 官方 → |
| JEP 476 | Module Import Declarations (Preview) 模块导入声明(预览) | 预览 | 官方 → |
| JEP 477 | Implicitly Declared Classes and Instance Main Methods (Third Preview) | — | 官方 → |
| JEP 480 | Structured Concurrency (Third Preview) 结构化并发(第三次预览) | 预览 | 官方 → |
| JEP 481 | Scoped Values (Third Preview) Scoped Values(第三次预览) | 预览 | 官方 → |
| JEP 482 | Flexible Constructor Bodies (Second Preview) | — | 官方 → |
移除与弃用REMOVED
升级前先排查这些变化。移除项通常不会在编译期全部报错,运行时或工具链上才暴露。
- String Templates 被撤回(JDK 22 后不再预览)
这一版的故事STORY
Java 23 的关键词是「边界」:ZGC 分代成为默认,Unsafe 被明确标记为退役路线,String Templates 则被撤回。它提醒我们:预览特性不是承诺,版本手册必须记录失败与回退。
怎么用这一页:先读故事建立坐标,再扫一遍代表特性。如果你正在用这个版本,重点看「移除与弃用」;如果你在选型或面试,重点记住 2–3 个代表特性及其版本边界。