JDK JDK 学习手册8 → 27 · JDK 专用学习站
JDK 12 · 2019-03-19

JDK 12:Switch 表达式预览

Switch 表达式第一次预览,Shenandoah GC 登场,G1 可以及时归还未使用的堆内存。

发布 2019-03-19 class 文件版本 56 状态 版本档案 代表特性 6 项
8官方 JEP 数
4正式特性
1预览 / 孵化
0移除 / 弃用

代表特性HIGHLIGHTS

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

预览

Switch 表达式(预览)

箭头语法、yield、表达式化,减少贯穿风险。

JEP 325

实验

Shenandoah GC

低停顿 GC,和 ZGC 同一目标不同实现。

JEP 189

正式

G1 及时归还内存

空闲时把未使用堆内存还给操作系统。

JEP 346

正式

G1 可中止混合收集

按停顿目标拆分混合收集,降低超时风险。

JEP 344

正式

默认 CDS 归档

JDK 自带类数据共享归档,改善启动。

JEP 341

正式

Microbenchmark Suite

JMH 进入 JDK 源码树。

JEP 230

全部 JEP8

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

JEP标题状态来源
JEP 189Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
Shenandoah GC
实验官方 →
JEP 230Microbenchmark Suite
Microbenchmark Suite
正式官方 →
JEP 325Switch Expressions (Preview)
Switch 表达式(预览)
预览官方 →
JEP 334JVM Constants API—官方 →
JEP 340One AArch64 Port, Not Two—官方 →
JEP 341Default CDS Archives
默认 CDS 归档
正式官方 →
JEP 344Abortable Mixed Collections for G1
G1 可中止混合收集
正式官方 →
JEP 346Promptly Return Unused Committed Memory from G1
G1 及时归还内存
正式官方 →

这一版的故事STORY

Java 12 是预览机制的练兵场:Switch 表达式开始试探更安全的语法,Shenandoah 与 G1 的改进则继续打磨停顿与内存归还。

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

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

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