可用于生产的JDK 19 发布

22-09-21 banq

Java 19 GA版本于九月二十日发布,其中包含虚拟线程、结构化并发 API、密封类型和模式匹配switch——所有这些都是预览版,但仍然非常酷!
当前是Build 36,也就是 GA 版本,可用于生产。
来自 Oracle 的 GPL 许可 OpenJDK 版本可在此处获得: https://jdk.java.net/19

以下是重大变化的亮点:

JEP 405记录模式(预览)
使用记录模式增强 Java 编程语言以解构记录值。可以嵌套记录模式和类型模式,以实现强大的、声明性的和可组合的数据导航和处理形式。

JEP 422 Linux/RISC-V 端口
将 JDK 移植到 Linux/RISC-V。

JEP 424外部函数和内存 API(预览版)
引入一个 API,Java 程序可以通过该 API 与 Java 运行时之外的代码和数据进行互操作。通过有效地调用外部函数(即 JVM 之外的代码)和安全地访问外部内存(即不受 JVM 管理的内存),API 使 Java 程序能够调用本机库并处理本机数据,而不会出现脆弱性和危险。 

JEP 425虚拟线程(预览版)
将虚拟线程引入Java 平台。虚拟线程是轻量级线程,可显着减少编写、维护和观察高吞吐量并发应用程序的工作量。

JEP 426 Vector API(第四个孵化器)
引入一个 API 来表达向量计算,该计算可以在运行时可靠地编译为支持的 CPU 架构上的最佳向量指令,从而实现优于等效标量计算的性能。

JEP 427开关模式匹配(第三次预览)
switch通过表达式和语句的模式匹配来增强 Java 编程语言 。扩展模式匹配以switch允许针对多个模式测试表达式,每个模式都有特定的操作,以便可以简洁安全地表达复杂的面向数据的查询。

JEP 428结构化并发(孵化器)
通过引入用于 结构化并发的 API 来简化多线程编程。结构化并发将在不同线程中运行的多个任务视为单个工作单元,从而简化错误处理和取消,提高可靠性并增强可观察性。这是一个 孵化 API

GraalVM JDK19 dev builds也发布了:
GraalVM 是一个高性能、可嵌入的多语言虚拟机,用于运行用 JavaScript、Python、Ruby、R、基于 JVM 的语言(如 Java、Scala、Kotlin)和基于 LLVM 的语言(如 C 和 C++)编写的应用程序。

使用GraalVM原生镜像,使用虚拟线程和通信顺序进程 、用PGO和G1 GC构建的 "生命游戏 "演示可以立即启动,甚至比JIT模式更快! 

Demo
 

1