--- title: Java 新特性专题:Java 8 到 Java 26 重要特性梳理 description: Java 新特性学习路线,梳理 Java 8 到 Java 26 的语言特性、标准库增强、JVM 改进、LTS 版本、Lambda、Stream、Record 和虚拟线程。 category: Java tag: - Java - Java新特性 - Java面试 sitemap: changefreq: weekly priority: 0.9 head: - - meta - name: keywords content: Java新特性,Java8新特性,Java11新特性,Java17新特性,Java21新特性,Lambda,Stream,Optional,模块化,var,Record,Switch,虚拟线程,模式匹配 --- Java 新特性不适合按版本机械背诵,更适合抓住“语言表达能力、标准库增强、并发模型、JVM 改进、长期支持版本”这几条主线。日常开发优先掌握 Java 8、11、17、21 等 LTS 版本中的稳定特性,再按需了解后续版本的预览和孵化特性。 ## 适合谁看 - 想系统了解 Java 8 之后版本变化的 Java 开发者。 - 准备 Java 新特性、LTS 版本差异、虚拟线程、Record、模式匹配等面试题的同学。 - 负责 JDK 升级,需要判断哪些特性会影响项目代码和运行时表现的工程师。 - 已经熟悉 Java 8,但对 Java 11、17、21 之后变化不够清楚的读者。 ## 学习重点 - Java 8 的 Lambda、Stream、Optional、接口默认方法和新日期 API。 - Java 9 的模块化,以及后续版本对语言语法和标准库的持续增强。 - Java 11、17、21 等 LTS 版本中更值得优先掌握的稳定能力。 - var、文本块、Record、Switch 表达式、密封类、模式匹配等语言层变化。 - 虚拟线程、结构化并发、分代 ZGC、Foreign Function & Memory API 等运行时和并发相关变化。 - 区分正式特性、预览特性、孵化特性,避免在生产升级中误判风险。 ## 建议阅读顺序 1. [Java8 新特性实战](./java8-common-new-features.md):先掌握 Lambda、Stream、Optional、接口默认方法和新日期 API。 2. [Java 9 新特性概览](./java9.md)、[Java 10 新特性概览](./java10.md):理解模块化和局部变量类型推断等基础变化。 3. [Java 11 新特性概览(重要)](./java11.md):重点关注第一个 8 之后被广泛采用的 LTS 版本。 4. [Java 17 新特性概览(重要)](./java17.md):掌握 Record、密封类、Switch、模式匹配等现代 Java 语法演进。 5. [Java 21 新特性概览(重要)](./java21.md):重点学习虚拟线程、分代 ZGC、模式匹配和字符串模板等变化。 6. 再按需阅读 [Java 22 & 23 新特性概览](./java22-23.md)、[Java 24 新特性概览](./java24.md)、[Java 25 新特性概览](./java25.md)、[Java 26 新特性概览](./java26.md)。 ## 核心文章 ### Java 8 基础能力 - [Java8 新特性实战](./java8-common-new-features.md):掌握 Lambda、函数式接口、Stream、Optional、接口默认方法和新日期 API。 - [《Java8 指南》中文翻译](./java8-tutorial-translate.md):通过更系统的教程理解 Java 8 常用特性。 ### 重要 LTS 版本 - [Java 11 新特性概览(重要)](./java11.md):关注 HTTP Client、字符串 API、集合 API、ZGC 实验特性等变化。 - [Java 17 新特性概览(重要)](./java17.md):关注 Record、密封类、Switch 表达式、文本块和模式匹配相关能力。 - [Java 21 新特性概览(重要)](./java21.md):关注虚拟线程、分代 ZGC、Record Pattern、Pattern Matching for switch 等特性。 ### 按版本追踪 - [Java 9 新特性概览](./java9.md):理解模块化系统和 JShell。 - [Java 10 新特性概览](./java10.md):了解局部变量类型推断和运行时改进。 - [Java 12 & 13 新特性概览](./java12-13.md):了解 Switch 表达式、文本块等变化。 - [Java 14 & 15 新特性概览](./java14-15.md):了解 Record、文本块、隐藏类等特性。 - [Java 16 新特性概览](./java16.md):了解 Record 正式转正、Pattern Matching for instanceof 等变化。 - [Java 18 新特性概览](./java18.md)、[Java 19 新特性概览](./java19.md)、[Java 20 新特性概览](./java20.md):跟进 UTF-8 默认字符集、虚拟线程预览、结构化并发等演进。 - [Java 22 & 23 新特性概览](./java22-23.md)、[Java 24 新特性概览](./java24.md)、[Java 25 新特性概览](./java25.md)、[Java 26 新特性概览](./java26.md):了解较新版本中的预览、孵化和正式特性。 ## 高频问题 - Java 8 为什么重要?Lambda 和 Stream 分别解决什么问题? - `Optional` 适合用在哪些场景?为什么不建议滥用? - Java 9 模块化解决了什么问题? - `var` 是动态类型吗?它适合在哪些场景使用? - Record 和普通 JavaBean 有什么区别? - Switch 表达式和传统 switch 有什么区别? - 密封类适合解决什么问题? - 模式匹配带来了哪些代码简化? - 虚拟线程适合什么场景?和平台线程有什么区别? - 生产升级 JDK 时,如何区分正式特性、预览特性和孵化特性? ## 相关专题 - [Java 知识体系](../) - [Java 基础专题](../basis/) - [Java 并发编程专题](../concurrent/) - [JVM 专题](../jvm/) - [Java IO 专题](../io/)