JDK 25 · 2025-09-16 · LTS
JDK 25 LTS:新一代生产基线
Java 25 是 21 之后的 LTS:Scoped Values、紧凑对象头、紧凑源文件/实例 main、灵活构造器体、模块导入声明转正;Stable Values、结构化并发、原始类型模式仍在预览。
18官方 JEP 数
5正式特性
1预览 / 孵化
1移除 / 弃用
代表特性HIGHLIGHTS
这些是这一版最值得记住的变化。状态标签区分「正式 / 预览 / 孵化 / 移除」——预览不等于稳定,迁移时要特别确认。
正式
Scoped Values 转正
替代 ThreadLocal 的不可变上下文方案。
正式
紧凑对象头转正
对象头从 96/128 位压缩到 64 位;25 需 -XX:+UseCompactObjectHeaders,27 才默认(JEP 534)。
正式
紧凑源文件与实例 main
初学者可写无类声明的单文件程序。
正式
灵活构造器体
super(...) 之前可以执行语句。
正式
模块导入声明转正
import module 让整个模块的导出包一次性可用。
预览
Stable Values(预览)
延迟初始化的不可变值。
全部 JEP18
数据来自 OpenJDK 官方 Features 表。中文名称仅为主要特性的人工标注。
| JEP | 标题 | 状态 | 来源 |
|---|---|---|---|
| JEP 470 | PEM Encodings of Cryptographic Objects (Preview) | — | 官方 → |
| JEP 502 | Stable Values (Preview) Stable Values(预览) | 预览 | 官方 → |
| JEP 503 | Remove the 32-bit x86 Port | — | 官方 → |
| JEP 505 | Structured Concurrency (Fifth Preview) | — | 官方 → |
| JEP 506 | Scoped Values Scoped Values 转正 | 正式 | 官方 → |
| JEP 507 | Primitive Types in Patterns, instanceof, and switch (Third Preview) | — | 官方 → |
| JEP 508 | Vector API (Tenth Incubator) | — | 官方 → |
| JEP 509 | JFR CPU-Time Profiling (Experimental) | — | 官方 → |
| JEP 510 | Key Derivation Function API | — | 官方 → |
| JEP 511 | Module Import Declarations 模块导入声明转正 | 正式 | 官方 → |
| JEP 512 | Compact Source Files and Instance Main Methods 紧凑源文件与实例 main | 正式 | 官方 → |
| JEP 513 | Flexible Constructor Bodies 灵活构造器体 | 正式 | 官方 → |
| JEP 514 | Ahead-of-Time Command-Line Ergonomics | — | 官方 → |
| JEP 515 | Ahead-of-Time Method Profiling | — | 官方 → |
| JEP 518 | JFR Cooperative Sampling | — | 官方 → |
| JEP 519 | Compact Object Headers 紧凑对象头转正 | 正式 | 官方 → |
| JEP 520 | JFR Method Timing & Tracing | — | 官方 → |
| JEP 521 | Generational Shenandoah | — | 官方 → |
移除与弃用REMOVED
升级前先排查这些变化。移除项通常不会在编译期全部报错,运行时或工具链上才暴露。
- 32-bit x86 端口移除(JEP 503)
这一版的故事STORY
Java 25 把 21 时代的预览线收束成产品能力:Scoped Values 转正,紧凑对象头改善内存密度,紧凑源文件降低学习门槛。它也是未来几年新的生产基线。
怎么用这一页:先读故事建立坐标,再扫一遍代表特性。如果你正在用这个版本,重点看「移除与弃用」;如果你在选型或面试,重点记住 2–3 个代表特性及其版本边界。