JDK 10 · 2018-03-20
JDK 10:var 时代开始
var 让局部变量可以省略显式类型;应用类数据共享(AppCDS)、G1 并行 Full GC、线程本地握手等底层改进同步到来。
12官方 JEP 数
5正式特性
0预览 / 孵化
1移除 / 弃用
代表特性HIGHLIGHTS
这些是这一版最值得记住的变化。状态标签区分「正式 / 预览 / 孵化 / 移除」——预览不等于稳定,迁移时要特别确认。
全部 JEP12
数据来自 OpenJDK 官方 Features 表。中文名称仅为主要特性的人工标注。
| JEP | 标题 | 状态 | 来源 |
|---|---|---|---|
| JEP 286 | Local-Variable Type Inference 局部变量类型推断 var | 正式 | 官方 → |
| JEP 296 | Consolidate the JDK Forest into a Single Repository | — | 官方 → |
| JEP 304 | Garbage-Collector Interface GC 接口 | 正式 | 官方 → |
| JEP 307 | Parallel Full GC for G1 G1 并行 Full GC | 正式 | 官方 → |
| JEP 310 | Application Class-Data Sharing 应用类数据共享 | 正式 | 官方 → |
| JEP 312 | Thread-Local Handshakes 线程本地握手 | 正式 | 官方 → |
| JEP 313 | Remove the Native-Header Generation Tool (javah) 移除 javah | 移除 | 官方 → |
| JEP 314 | Additional Unicode Language-Tag Extensions | — | 官方 → |
| JEP 316 | Heap Allocation on Alternative Memory Devices | — | 官方 → |
| JEP 317 | Experimental Java-Based JIT Compiler | — | 官方 → |
| JEP 319 | Root Certificates | — | 官方 → |
| JEP 322 | Time-Based Release Versioning | — | 官方 → |
移除与弃用REMOVED
升级前先排查这些变化。移除项通常不会在编译期全部报错,运行时或工具链上才暴露。
- javah 工具(JEP 313)
这一版的故事STORY
Java 10 的变化不算炫目,但 var 极大改变了代码书写习惯;AppCDS 与 G1 的改进则直接影响生产环境的启动与停顿。
怎么用这一页:先读故事建立坐标,再扫一遍代表特性。如果你正在用这个版本,重点看「移除与弃用」;如果你在选型或面试,重点记住 2–3 个代表特性及其版本边界。