JDK JDK 学习手册8 → 27 · JDK 专用学习站
QUICKREF · JDK 25

速查模块:6 张 API 地图

写代码卡住时,从这里 30 秒找到正确写法;面试前,用它扫清版本边界。
使用方式每页都是「目标问题 → API 地图 → 最短示例 → 版本边界 → 费曼自检」。不需要从头读,按主题跳转。
CHEATSHEET · A4 JDK 25 一页速查卡4 个分区、12 张卡片,把 JDK 25 的正式/预览边界、并发新 API、语言与模块写法、运行时开关压到一张可打印的页面。先记「什么转正、什么仍预览、什么默认没变」。 12 张卡片 · 打开 / 打印 →
01

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

ScopedValue 把上下文从「每个线程一份可变副本」变成「一段执行路径上的只读绑定」:进入作用域时安装,退出时恢复,子任务只在结构化 fork 时继承。JDK 25 转正,API 与 21 预览版有差异。

30 分钟核心JEP 506
02

Structured Concurrency:第五次预览的新 API

JDK 25 的结构化并发仍是预览,但 API 已换成 open() + Joiner:作用域是接口,子任务默认跑在虚拟线程上,失败或超时会取消兄弟任务。21 的 ShutdownOnFailure / ShutdownOnSuccess 在 25 已不存在。

35 分钟进阶JEP 505
03

Compact Source Files:没有 class 外壳的程序

JDK 25 正式允许单文件程序省略 package 与 class 声明,直接写 import、字段、方法和实例 main。java Hello.java 即可运行;它降低的是入门与小工具的门槛,不是替代正规类结构。

25 分钟核心JEP 512
04

Module Import Declarations:一行导入一个模块

import module java.base; 把 java.base 导出的所有包一次性导入,等价于几十条按需包导入。它解决的是 import 噪音,不是模块化:不改变 requires,不打开封装,也不能导入 classpath 上的未命名模块。

25 分钟核心JEP 511
05

Flexible Constructor Bodies:把校验放到 super() 之前

JDK 25 正式允许在 super(...) / this(...) 之前写语句:可以先校验参数、计算参数、初始化本类字段,再调用父构造器。代价是这些语句处于「早期构造上下文」,不能读取正在构造的对象。

25 分钟核心JEP 513
06

从 21 迁移到 25

21 → 25 的升级难点不在语法,而在「预览转正」与「默认值没变」:Scoped Values 与模块导入去掉预览参数,结构化并发换了 API 却仍是预览,紧凑对象头与分代 Shenandoah 转正但默认关闭,32 位 x86 端口被移除。

30 分钟进阶JEP 503JEP 511

怎么用速查HOWTO

  • 先看目标问题:每页开头三个问题,决定你要不要读细节。
  • 再扫 API 表:知道方法名、参数与返回值,比背实现重要。
  • 最后看边界:同一 API 在哪些版本是预览、哪些版本不存在,写进记忆。
  • 切换版本:用侧栏或顶栏的版本选择器,落到目标版本的速查模块,再对照同名主题。
  • 标记掌握度:页底按钮会记录到本机浏览器,课程首页显示总进度。

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

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