QUICKREF · JDK 17
速查模块:6 张 API 地图
写代码卡住时,从这里 30 秒找到正确写法;面试前,用它扫清版本边界。
使用方式每页都是「目标问题 → API 地图 → 最短示例 → 版本边界 → 费曼自检」。不需要从头读,按主题跳转。
CHEATSHEET · A4
JDK 17 一页速查卡4 个分区、12 张卡片,把 JDK 17 的语言写法、运行时边界与迁移检查压缩到一页。适合贴在显示器旁,或面试前十分钟扫一遍。
12 张卡片 · 打开 / 打印 →
01
record:透明数据载体
record 用一行声明描述一组值:字段、访问器、equals/hashCode/toString 都由编译器生成。它的价值是「透明」——你能从声明直接读出对象状态,也因此不适合承载隐藏状态或复杂生命周期。
02
sealed:封闭类型集合
sealed 把「只允许这几个实现」从注释变成编译器可检查的约束。它不改变多态,也不做访问控制;真正的收益是让类型集合在编译期闭合,从而支撑穷尽性检查。
03
instanceof 模式:判断与绑定合并
instanceof 模式把类型判断和变量声明合并,省掉强转。它的关键是流作用域:变量只在编译器能证明匹配成功的路径上可见,而不是简单的块作用域。
04
switch 表达式:让分支返回值
switch 从语句变成表达式后,分支可以直接产出值,箭头标签取消贯穿,编译器还会检查穷尽性。它最适合 enum、有限集合和纯映射逻辑;复杂控制流仍应留在语句里。
05
文本块:多行字符串的可读写法
文本块把 SQL、JSON、HTML 从字符串拼接里解放出来,但它的规则不是「原样保留」:编译器会去掉附带空白,行尾空格和缩进都会影响结果。
06
从 8 / 11 迁移到 17
升级到 17 的主要成本不在新语法,而在旧假设:被移除的 RMI Activation、失效的 --illegal-access、对 JDK 内部 API 的反射访问,以及只在 21 才改变的 Security Manager 行为。
怎么用速查HOWTO
- 先看目标问题:每页开头三个问题,决定你要不要读细节。
- 再扫 API 表:知道方法名、参数与返回值,比背实现重要。
- 最后看边界:同一 API 在哪些版本是预览、哪些版本不存在,写进记忆。
- 切换版本:用侧栏或顶栏的版本选择器,落到目标版本的速查模块,再对照同名主题。
- 标记掌握度:页底按钮会记录到本机浏览器,课程首页显示总进度。