跳至主要內容
Java 10 新特性概览

Java 10 发布于 2018 年 3 月 20 日,最知名的特性应该是 var 关键字(局部变量类型推断)的引入了,其他还有垃圾收集器改善、GC 改进、性能提升、线程管控等一批新特性。

概览(精选了一部分)


Invoker大约 5 分钟JavaJava新特性
Java 11 新特性概览

Java 11 于 2018 年 9 月 25 日正式发布,这是很重要的一个版本!Java 11 和 2017 年 9 月份发布的 Java 9 以及 2018 年 3 月份发布的 Java 10 相比,其最大的区别就是:在长期支持(Long-Term-Support)方面,Oracle 表示会对 Java 11 提供大力支持,这一支持将会持续至 2026 年 9 月。这是据 Java 8 以后支持的首个长期版本。

下面这张图是 Oracle 官方给出的 Oracle JDK 支持的时间线。


Invoker大约 4 分钟JavaJava新特性
Java 12 & 13 新特性概览

Java12

String 增强

Java 12 增加了两个的字符串处理方法,如以下所示。

indent() 方法可以实现字符串缩进。

String text = "Java";
// 缩进 4 格
text = text.indent(4);
System.out.println(text);
text = text.indent(-10);
System.out.println(text);

Invoker大约 7 分钟JavaJava新特性
Java 14 & 15 新特性概览

Java14

空指针异常精准提示

通过 JVM 参数中添加-XX:+ShowCodeDetailsInExceptionMessages,可以在空指针异常中获取更为详细的调用信息,更快的定位和解决问题。

a.b.c.i = 99; // 假设这段代码会发生空指针

Invoker大约 5 分钟JavaJava新特性
Java 16 新特性概览

Java 16 在 2021 年 3 月 16 日正式发布,非长期支持(LTS)版本。

相关阅读:OpenJDK Java 16 文档

JEP 338:向量 API(第一次孵化)

向量(Vector) API 最初由 JEP 338 提出,并作为孵化 API集成到 Java 16 中。第二轮孵化由 JEP 414 提出并集成到 Java 17 中,第三轮孵化由 JEP 417 提出并集成到 Java 18 中,第四轮由 JEP 426 提出并集成到了 Java 19 中。


Invoker大约 10 分钟JavaJava新特性
Java 17 新特性概览(重要)

Java 17 在 2021 年 9 月 14 日正式发布,是一个长期支持(LTS)版本。

下面这张图是 Oracle 官方给出的 Oracle JDK 支持的时间线。可以看得到,Java

17 最多可以支持到 2029 年 9 月份。


Invoker大约 6 分钟JavaJava新特性
Java 18 新特性概览

Java 18 在 2022 年 3 月 22 日正式发布,非长期支持版本。

Java 18 带来了 9 个新特性:


Invoker大约 5 分钟JavaJava新特性
Java 19 新特性概览

JDK 19 定于 2022 年 9 月 20 日正式发布以供生产使用,非长期支持版本。不过,JDK 19 中有一些比较重要的新特性值得关注。

JDK 19 只有 7 个新特性:


Invoker大约 6 分钟JavaJava新特性
Java 20 新特性概览

JDK 20 于 2023 年 3 月 21 日发布,非长期支持版本。

根据开发计划,下一个 LTS 版本就是将于 2023 年 9 月发布的 JDK 21。

JDK 20 只有 7 个新特性:


Invoker大约 10 分钟JavaJava新特性
Java 21 新特性概览(重要)

JDK 21 于 2023 年 9 月 19 日 发布,这是一个非常重要的版本,里程碑式。

JDK21 是 LTS(长期支持版),至此为止,目前有 JDK8、JDK11、JDK17 和 JDK21 这四个长期支持版了。

JDK 21 共有 15 个新特性,这篇文章会挑选其中较为重要的一些新特性进行详细介绍:


Invoker大约 9 分钟JavaJava新特性