JDK JDK 学习手册8 → 27 · JDK 专用学习站
JDK 21 · 2023-09-19 · LTS

JDK 21 LTS:虚拟线程与模式匹配

Java 21 是当前最重要的 LTS 之一:虚拟线程、switch 模式匹配、record 模式、SequencedCollection、分代 ZGC 正式落地;结构化并发、Scoped Values、FFM、String Templates 进入预览。

发布 2023-09-19 class 文件版本 65 状态 完整课程 代表特性 10 项
15官方 JEP 数
6正式特性
4预览 / 孵化
2移除 / 弃用

代表特性HIGHLIGHTS

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

正式

虚拟线程转正

Thread.ofVirtual / newVirtualThreadPerTaskExecutor,thread-per-task 回归。

JEP 444

正式

Switch 模式匹配转正

类型模式、when 守卫、null 分支与穷尽性检查。

JEP 441

正式

Record Patterns 转正

在模式中解构 record,支持嵌套。

JEP 440

正式

SequencedCollection

统一首尾访问与 reversed 视图。

JEP 431

正式

分代 ZGC

分代假设 + 并发转移,低延迟与吞吐兼得。

JEP 439

预览

结构化并发(预览)

StructuredTaskScope 管理子任务生命周期。

JEP 453

预览

Scoped Values(预览)

不可变、可继承的线程上下文。

JEP 446

预览

FFM API(预览)

Arena 管理本地内存,MemorySegment 取代 Unsafe。

JEP 442

正式

KEM API

标准密钥封装接口,SunJCE 提供 DHKEM。

JEP 452

预览

String Templates(预览)

STR."..." 模板插值,后在 JDK 23 被撤回。

JEP 430

全部 JEP15

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

JEP标题状态来源
JEP 430String Templates (Preview)
String Templates(预览)
预览官方 →
JEP 431Sequenced Collections
SequencedCollection
正式官方 →
JEP 439Generational ZGC
分代 ZGC
正式官方 →
JEP 440Record Patterns
Record Patterns 转正
正式官方 →
JEP 441Pattern Matching for switch
Switch 模式匹配转正
正式官方 →
JEP 442Foreign Function & Memory API (Third Preview)
FFM API(预览)
预览官方 →
JEP 443Unnamed Patterns and Variables (Preview)预览官方 →
JEP 444Virtual Threads
虚拟线程转正
正式官方 →
JEP 445Unnamed Classes and Instance Main Methods (Preview)预览官方 →
JEP 446Scoped Values (Preview)
Scoped Values(预览)
预览官方 →
JEP 448Vector API (Sixth Incubator)孵化官方 →
JEP 449Deprecate the Windows 32-bit x86 Port for Removal弃用官方 →
JEP 451Prepare to Disallow the Dynamic Loading of Agents弃用官方 →
JEP 452Key Encapsulation Mechanism API
KEM API
正式官方 →
JEP 453Structured Concurrency (Preview)
结构化并发(预览)
预览官方 →

移除与弃用REMOVED

升级前先排查这些变化。移除项通常不会在编译期全部报错,运行时或工具链上才暴露。
  • Windows 32-bit x86 端口被弃用(JEP 449)
  • 动态加载 agent 产生警告(JEP 451)

这一版的故事STORY

Java 21 把「并发」和「语言表达力」两条线同时推过终点线:虚拟线程让阻塞式代码重新可扩展,模式匹配让类型分支更安全,SequencedCollection 则修补了集合家族长期缺失的首尾抽象。同时,这一版也是预览特性最密集的版本——String Templates 的后续撤回,正好是一堂关于预览机制的课。

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

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

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