跳转至

Java 现代化之旅#

面向 JDK 8 开发者的 Java 新特性教程,沿 LTS 阶梯系统演进:8 → 11 → 17 → 21 → 25。

graph LR
    J8["JDK 8<br/>起点"] --> J11["JDK 11"]
    J11 --> J17["JDK 17"]
    J17 --> J21["JDK 21"]
    J21 --> J25["JDK 25"]
    style J8 fill:#ffd54f
    style J25 fill:#a5d6a7

各版本速览#

LTS 旗舰特性 入口
JDK 11 var、标准库增强(String/集合/Stream/Optional)、HTTP Client、G1 默认化、JFR 开源 概览
JDK 17 record / sealed / switch 表达式 / 文本块 / instanceof 模式匹配、ZGC 转正 概览
JDK 21 虚拟线程、switch 模式匹配与 record 解构、分代 ZGC 概览
JDK 25 实例 main、弹性构造器、Scoped Values、ZGC 分代化收尾 概览

怎么读#

  • 每个版本分两个层面:语言特性(语法怎么用)与 JVM 与运行时(GC、观测、启动等底层变化)。
  • 每个特性一页,按固定八段展开:为什么需要 → 怎么用 → 与 JDK 8 对比 → 底层原理 → 常见坑
  • 每段代码都是 examples/真实可运行的源码(通过 snippets 嵌入,与示例零漂移),可 clone 仓库 后跑(命令见 快速开始)。

建议路线:先从 var(最简单)入门 → recordinstanceof 模式匹配模式匹配与 record 解构虚拟线程;关心底层时读各版本的 JVM 与运行时

开始#

快速开始。许可见 此处

跨版本专题#

某些能力不属于单个 LTS,而是从某一版起持续演进、横跨多个版本——它们单独成篇:

  • 模块系统(JPMS):JDK 9 起,module-info / module-path / jlink,强封装与可裁剪运行时。
  • 并发演进:JDK 8 → 25,平台→虚拟线程、ThreadLocal→ScopedValue、散落→结构化并发。