QUICKREF · JDK 8
速查模块:6 张 API 地图
写代码卡住时,从这里 30 秒找到正确写法;面试前,用它扫清版本边界。
使用方式每页都是「目标问题 → API 地图 → 最短示例 → 版本边界 → 费曼自检」。不需要从头读,按主题跳转。
CHEATSHEET · A4
JDK 8 一页速查卡4 个分区、12 张卡片,把 JDK 8 最常用的写法与版本边界压缩到一张可打印的页面。适合贴在显示器旁,或面试前十分钟扫一遍。
12 张卡片 · 打开 / 打印 →
01
Lambda 与函数式接口
Lambda 把「一段行为」变成可以传递的值,类型由函数式接口决定;方法引用是它的简写。理解目标类型、变量捕获和 this,才算真正会用。
02
Stream 流水线
Stream 把集合处理拆成「来源 → 中间操作 → 终止操作」:中间操作只描述、不执行,终止操作才拉动数据。惰性、短路和并行都建立在这个模型上。
03
Optional:把缺失写进类型
Optional 用类型表达「可能没有值」,把缺失从隐式 null 变成显式契约。它适合返回值,不适合字段、参数和集合元素;用错会把判空变成拆箱。
04
java.time:不可变的时间模型
java.time 用不可变对象和清晰的类型分工取代 Date/Calendar:Instant 表示时间线上的点,Local* 表示无时区的人类时间,ZonedDateTime 负责时区与夏令时规则。
05
接口默认方法与静态方法
JDK 8 允许接口携带方法体:default 方法用于在不破坏实现类的前提下扩展接口,static 方法提供接口级工具。代价是菱形冲突与继承规则变复杂。
06
迁移到 JDK 8
从 7 升到 8 的难点不在语法,而在工具链与运行时假设:PermGen 参数、class 版本、字节码库、default 方法冲突。先把这些清理干净,再逐步引入 Lambda 与 Stream。
怎么用速查HOWTO
- 先看目标问题:每页开头三个问题,决定你要不要读细节。
- 再扫 API 表:知道方法名、参数与返回值,比背实现重要。
- 最后看边界:同一 API 在哪些版本是预览、哪些版本不存在,写进记忆。
- 切换版本:用侧栏或顶栏的版本选择器,落到目标版本的速查模块,再对照同名主题。
- 标记掌握度:页底按钮会记录到本机浏览器,课程首页显示总进度。