从 JDK 19 的概述页面来看,JDK 19 处于 Rampdown Phase Two 阶段,整个功能集已被解冻,将不再对 JEP 进行改变。
Java 19 只有 7 个新个性:
上面对新个性作简短的介绍:
记录模式(预览版)
应用 记录模式 加强 Java 编程语言以解构记录值,能够嵌套记录模式和类型模式,实现弱小的、申明性的和可组合的数据导航和解决模式。
这是一个预览语言性能。
Linux/RISC-V 移植
将 JDK 移植到 Linux/RISC-V,目前仅反对 RISC-V 的 RV64GV 配置(蕴含向量指令的通用 64 位 ISA)。未来可能会思考反对其余 RISC-V 配置,例如通用 32 位配置 (RV32G)。
内部函数和内存 API(预览版)
引入一个 API,Java 程序能够通过该 API 与 Java 运行时之外的代码和数据进行互操作。通过该 API 可无效地调用内部函数(JVM 之外的代码)和平安地拜访内部内存(不受 JVM 治理的内存),使得 Java 程序可能调用本机库并解决本机数据,而不会呈现 JNI 的脆弱性和危险。
这是个预览版 API。
虚构线程(预览版)
将虚构线程引入 Java 平台。虚构线程是轻量级线程,可显著地缩小编写、保护和察看高吞吐量并发应用程序的工作量。
这是一个预览 API,咱们 OSC 曾对此进行了具体介绍。
Vector API(第四次孵化)
引入一个 API 来表白在运行时可能牢靠编译的向量计算,在反对的 CPU 架构上优化向量指令,从而实现优于标量计算的性能。
Switch 模式匹配(第三预览版)
用 switch 表达式和语句的模式匹配,以及对模式语言的扩大来加强 Java 编程语言。将模式匹配扩大到 switch 中,容许针对一些模式测试表达式,这样就能够扼要而平安地表白简单的面向数据的查问。
该个性最早在 Java 17 中作为预览版呈现,Java 19 为第三次预览。
结构化并发(孵化阶段)
引入用于结构化并发的 API 来简化多线程编程,结构化并发将不同线程中运行的多个工作视为单个工作单元,从而简化错误处理、进步可靠性并加强可察看性。
这是一个孵化阶段的 API。
另附 JDK 19 时间表:
其中 Rampdown 次要是修 Bug 和测试阶段。
还有一个有意思的事:从 Java 16 开始,每个版本的个性数量越来越少:
- Java 16:17 个
- Java 17:14 个
- Java 18:9 个
- Java 19:7 个
Java 20 不会变成 5 个吧 …