JDK JDK 学习手册8 → 27 · JDK 专用学习站
JDK 14 · 2020-03-17

JDK 14:Switch 表达式转正

Switch 表达式正式转正,record 与 instanceof 模式匹配进入预览;CMS GC、Pack200、Nashorn 相继移除。

发布 2020-03-17 class 文件版本 58 状态 版本档案 代表特性 6 项
16官方 JEP 数
2正式特性
3预览 / 孵化
3移除 / 弃用

代表特性HIGHLIGHTS

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

正式

Switch 表达式转正

箭头语法与 yield 成为标准写法。

JEP 361

预览

record(预览)

不可变数据载体,自动生成构造器/访问器/equals。

JEP 359

预览

instanceof 模式匹配(预览)

判断类型后直接绑定变量,减少强转。

JEP 305

预览

文本块(第二次预览)

继续调整缩进与转义规则。

JEP 368

正式

Helpful NullPointerExceptions

NPE 信息指出具体是哪个变量为 null。

JEP 358

移除

移除 CMS GC

Concurrent Mark Sweep 正式退出。

JEP 362

全部 JEP16

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

JEP标题状态来源
JEP 305Pattern Matching for instanceof (Preview)
instanceof 模式匹配(预览)
预览官方 →
JEP 343Packaging Tool (Incubator)—官方 →
JEP 345NUMA-Aware Memory Allocation for G1—官方 →
JEP 349JFR Event Streaming—官方 →
JEP 352Non-Volatile Mapped Byte Buffers—官方 →
JEP 358Helpful NullPointerExceptions
Helpful NullPointerExceptions
正式官方 →
JEP 359Records (Preview)
record(预览)
预览官方 →
JEP 361Switch Expressions (Standard)
Switch 表达式转正
正式官方 →
JEP 362Deprecate the Solaris and SPARC Ports
移除 CMS GC
移除官方 →
JEP 363Remove the Concurrent Mark Sweep (CMS) Garbage Collector—官方 →
JEP 364ZGC on macOS—官方 →
JEP 365ZGC on Windows—官方 →
JEP 366Deprecate the ParallelScavenge + SerialOld GC Combination—官方 →
JEP 367Remove the Pack200 Tools and API—官方 →
JEP 368Text Blocks (Second Preview)
文本块(第二次预览)
预览官方 →
JEP 370Foreign-Memory Access API (Incubator)—官方 →

移除与弃用REMOVED

升级前先排查这些变化。移除项通常不会在编译期全部报错,运行时或工具链上才暴露。
  • CMS GC(JEP 362)
  • Pack200 工具与 API(JEP 363)
  • Nashorn(JEP 367)

这一版的故事STORY

Java 14 是 record 的起点,也是旧技术集中退场的版本:CMS、Pack200、Nashorn 都在这里被移除。Helpful NPE 则是开发者最能直接感知的体验改进。

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

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

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