JDK 19 发布 - 一口 Java
Billy Korando 于 2022 年 9 月 20 日发布
今天,即 9 月 20 日,最新版本的 JDK,JDK 19,已发布。此版本的 JDK 在主线 JDK 版本中首次亮相了一些期待已久的功能。在本文中,我们将简要了解 JDK 19 中包含的这些新功能和其他功能。
Project Loom
Project Loom 正在将两个功能添加到主线 JDK 版本中。虚拟线程,JEP 425,作为预览功能添加。虚拟线程是轻量级线程,当线程被阻塞时,JVM 能够将其停放。这将允许大量使用线程的应用程序(例如通常采用每个请求一个线程模型的 Web 应用程序)在现代硬件上更有效地扩展。在仍然使用 Java 开发人员熟悉的阻塞式编程风格的同时,可以获得此优势。
Project Loom 提供的另一项功能是结构化并发,JEP 428,它目前是一项孵化器功能。结构化并发提供了一种简单的方法,可以将一个工作单元划分为多个任务,这些任务可以同时在多个线程中执行。这些任务仍将被视为一个工作单元,并且可以对已完成、已取消或遇到错误的任务进行通用处理。
Project Panama
Project Panama 中有两个功能是 JDK 19 的一部分。外函数和内存 API,JEP 424,在 JDK 19 中进入预览状态。外函数和内存 API 允许 Java 应用程序与 JVM 外部的代码和数据进行交互,比 Java Native Interface (JNI) 提供的更安全。
矢量 API,JEP 426,进入其第四轮孵化。在 CPU 架构支持的情况下,计算矢量指令时提供卓越的性能。矢量 API 将一直处于孵化状态,直到 project Valhalla 中的功能交付为止。
Project Amber
Project Amber 的模式匹配故事继续升温。用于 switch
的模式匹配将有第三个预览,JEP 427。主要更改是使用 when
子句代替保护 &&
子句,以及对 null
情况处理的改进。
记录模式已作为 JEP 405 的预览功能添加。记录模式将允许快速对记录中的数据进行解构。记录模式和用于 switch
的模式匹配是 Java 面向数据编程故事中的基本元素。
其他更改
JDK 19 中剩余的 JEP 部分涉及将 JDK 移植到 Linux/RISC-V 架构,JEP 422。
最后,请在下面的附加阅读部分中查看 JDK 19 的发行说明。JDK 19 版本中还包含其他一些新增功能、更改以及常规的错误修复、安全增强功能等。