JDK JDK 学习手册8 → 27 · JDK 专用学习站
DEEPDIVE · JDK 21

深钻模块:8 个硬核主题

不满足于会用,要能讲清「为什么这样设计、代价是什么、边界在哪里」。
四步结构每个主题都按「心智模型 → 机制拆解 → 落地实践 → 费曼自检」展开。你可以先跳到任意一步,但真正的掌握发生在最后一步。
01

虚拟线程:把阻塞变成廉价

虚拟线程把「线程」从操作系统资源变成 JVM 管理的轻量任务:阻塞时自动卸载,让一个请求一个线程的写法重新可行。它提升的是阻塞场景下的吞吐上限,不是单任务速度。

55 分钟核心4 步
02

模式匹配:让数据形状成为控制流

模式匹配把「判断类型 → 强转 → 取字段」三步合并为一次声明:if (o instanceof Point(int x, int y))。在 switch 中配合 sealed 接口,还能让编译器检查分支是否穷尽。

50 分钟核心4 步
03

SequencedCollection:集合终于有了「两端」

JDK 21 为 List、Deque、LinkedHashSet、SortedSet、LinkedHashMap、SortedMap 补上了统一的「首尾」API:addFirst、addLast、getFirst、getLast、reversed。以前每个实现各写一套,现在一套接口覆盖。

45 分钟核心4 步
04

分代 ZGC:把停顿压到亚毫秒

JDK 21 的 ZGC 增加了分代模式:年轻代频繁回收、老年代偶尔回收,在保持亚毫秒级停顿的同时显著改善吞吐。它是大堆、低延迟服务的选项,不是所有场景的默认答案。

50 分钟进阶4 步
05

结构化并发:让任务有作用域

结构化并发把一组并发子任务放进一个作用域:父任务等待所有子任务结束,任一失败就取消其余,不再留下孤儿线程。JDK 21 中它是预览 API,配合虚拟线程和 ScopedValue 构成新的并发编程模型。

50 分钟进阶4 步
06

Scoped Values:有作用域的不可变上下文

ScopedValue 用「在某个作用域内绑定一个不可变值」替代 ThreadLocal 的可变副本:作用域结束自动失效,不需要 remove,也不会因为虚拟线程数量巨大而产生大量副本。JDK 21 是预览,JDK 25 转正。

50 分钟进阶4 步
07

预览特性:试用草案,而不是半成品

预览特性是已经进入 JDK、但尚未永久的语言或 API 改动:必须显式开启,可能在下一个版本调整或移除。JDK 21 同时存在 final、preview、incubator、experimental 四种状态,分清它们是升级不踩坑的前提。

40 分钟基础4 步
08

FFM:用 Arena 和 MemorySegment 取代 JNI

Foreign Function & Memory API 让 Java 直接调用本地函数、管理堆外内存,并用 Arena 把「谁负责释放」变成可验证的生命周期约束。JDK 21 是第三轮预览,JDK 22 转正。

55 分钟进阶4 步

为什么是这四步METHOD

  1. 心智模型:先建立一张能自洽的图。没有模型,细节只是碎片。
  2. 机制拆解:看 JDK 如何实现,理解设计取舍与代价。
  3. 落地实践:把机制落到代码、参数、排障步骤上。
  4. 费曼自检:用自己的话复述,暴露理解漏洞。回答不了就回到对应小节。

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

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