DEEPDIVE · JDK 25
深钻模块:3 个硬核主题
不满足于会用,要能讲清「为什么这样设计、代价是什么、边界在哪里」。
四步结构每个主题都按「心智模型 → 机制拆解 → 落地实践 → 费曼自检」展开。你可以先跳到任意一步,但真正的掌握发生在最后一步。
01
Scoped Values 内部:绑定快照、作用域与传递边界
ScopedValue 把上下文从「每个线程一份可变副本」改成「一段执行路径上的只读绑定」:进入作用域安装,退出恢复,结构化 fork 时复制快照引用。理解这条链,才能判断什么时候它能替代 ThreadLocal,什么时候不能。
02
结构化并发:把子任务关进词法作用域
结构化并发不是更快的线程池,而是把一组子任务的生命周期、失败与取消收束到一个词法块里。JDK 25 仍是第五次预览,API 已换成 open() + Joiner,21 的 ShutdownOnFailure 不能直接编译。
03
紧凑对象头:从 96/128 位到 64 位
紧凑对象头把 64 位 HotSpot 的对象头从 96/128 位压到 64 位。JEP 519 在 JDK 25 把它从实验特性转为产品特性,但明确不改变默认布局:默认仍是旧布局,需要显式 -XX:+UseCompactObjectHeaders。
为什么是这四步METHOD
- 心智模型:先建立一张能自洽的图。没有模型,细节只是碎片。
- 机制拆解:看 JDK 如何实现,理解设计取舍与代价。
- 落地实践:把机制落到代码、参数、排障步骤上。
- 费曼自检:用自己的话复述,暴露理解漏洞。回答不了就回到对应小节。