JDK JDK 学习手册8 → 27 · JDK 专用学习站
JDK 17 · 2021-09-14 · LTS

JDK 17 LTS:现代 Java 的稳定基线

Java 17 是继 11 之后的 LTS:sealed class 转正、switch 模式匹配预览、强封装 JDK 内部,移除 RMI Activation 与实验性 AOT/JIT。

发布 2021-09-14 class 文件版本 61 状态 完整课程 代表特性 6 项
14官方 JEP 数
3正式特性
1预览 / 孵化
3移除 / 弃用

代表特性HIGHLIGHTS

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

正式

Sealed Classes 转正

permits 限定子类型,配合模式匹配实现穷尽性。

JEP 409

预览

Switch 模式匹配(预览)

switch 可以按类型/结构匹配,告别 if-else 链。

JEP 406

正式

强封装 JDK 内部

默认拒绝深度反射,内部 API 边界更清晰。

JEP 403

正式

增强型伪随机数生成器

统一 RandomGenerator 接口与更多算法。

JEP 356

移除

移除 RMI Activation

过时的 RMI 激活机制退出。

JEP 407

弃用

弃用 Security Manager

为后续永久禁用铺路。

JEP 411

全部 JEP14

数据来自 OpenJDK 官方 Features 表。中文名称仅为主要特性的人工标注。

JEP标题状态来源
JEP 306Restore Always-Strict Floating-Point Semantics—官方 →
JEP 356Enhanced Pseudo-Random Number Generators
增强型伪随机数生成器
正式官方 →
JEP 382New macOS Rendering Pipeline—官方 →
JEP 391macOS/AArch64 Port—官方 →
JEP 398Deprecate the Applet API for Removal—官方 →
JEP 403Strongly Encapsulate JDK Internals
强封装 JDK 内部
正式官方 →
JEP 406Pattern Matching for switch (Preview)
Switch 模式匹配(预览)
预览官方 →
JEP 407Remove RMI Activation
移除 RMI Activation
移除官方 →
JEP 409Sealed Classes
Sealed Classes 转正
正式官方 →
JEP 410Remove the Experimental AOT and JIT Compiler—官方 →
JEP 411Deprecate the Security Manager for Removal
弃用 Security Manager
弃用官方 →
JEP 412Foreign Function & Memory API (Incubator)—官方 →
JEP 414Vector API (Second Incubator)—官方 →
JEP 415Context-Specific Deserialization Filters—官方 →

移除与弃用REMOVED

升级前先排查这些变化。移除项通常不会在编译期全部报错,运行时或工具链上才暴露。
  • RMI Activation(JEP 407)
  • 实验性 AOT/JIT 编译器(JEP 410)
  • Security Manager 被弃用

这一版的故事STORY

Java 17 是很多团队从 8/11 迁移的落点:sealed 提供了受控继承,强封装划清了 JDK 内部边界,switch 模式匹配则预告了 21 的语言形态。

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

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

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