JDK JDK 学习手册8 → 27 · JDK 专用学习站
JDK 9 · 2017-09-21

JDK 9:模块化落地

Java 9 引入模块系统(JPMS),同时带来 JShell、jlink、集合工厂方法和 Flow 响应式接口;Java 也从这一版开始转入 6 个月发版节奏。

发布 2017-09-21 class 文件版本 53 状态 版本档案 代表特性 6 项
6精选特性数
6正式特性
0预览 / 孵化
2移除 / 弃用

代表特性HIGHLIGHTS

这些是这一版最值得记住的变化。状态标签区分「正式 / 预览 / 孵化 / 移除」——预览不等于稳定,迁移时要特别确认。

正式

模块系统 JPMS

module-info.java、requires/exports,JDK 自身也模块化。

JEP 261

正式

JShell

交互式 REPL,适合验证小段代码。

JEP 222

正式

jlink

按模块裁剪并生成自定义运行时镜像。

JEP 282

正式

集合工厂方法

List.of / Set.of / Map.of,一行创建不可变集合。

JEP 269

正式

Flow 与并发更新

响应式流接口进入 JDK;CompletableFuture 增强。

JEP 266

正式

Variable Handles

比反射更安全的变量/字段访问方式。

JEP 193

JEP 索引N/A

JDK 9 的官方 Features 页面没有提供结构化 JEP 表,因此这里使用人工整理的代表特性。上方的「代表特性」卡片已覆盖这一版的主线变化。

移除与弃用REMOVED

升级前先排查这些变化。移除项通常不会在编译期全部报错,运行时或工具链上才暴露。
  • 内部 API 大面积封装(JEP 260)
  • Java EE / CORBA 模块转由 Java EE 提供

这一版的故事STORY

Java 9 是「平台工程化」的起点:模块系统重新划定了 JDK 的边界,jlink 让运行时可以按需裁剪,JShell 把试验成本降到一行命令。集合工厂方法则是最快被日常代码采用的变化。

怎么用这一页:先读故事建立坐标,再扫一遍代表特性。如果你正在用这个版本,重点看「移除与弃用」;如果你在选型或面试,重点记住 2–3 个代表特性及其版本边界。

JDK 学习手册 · JDK / Java 专用学习站 · 纯静态 · 双击 index.html 即可使用

本站专注 JDK 版本演进与 Java 教学,非 Oracle / OpenJDK 官方站点。版本数据来自 OpenJDK 官方 Features 表;课程示例已在对应本机 JDK 实测。构建日期 2026-11-12。