JDK 19 功能集冻结:Java 19 只有 7 个新特性


从 JDK 19 的概述页面来看,JDK 19 处于 Rampdown Phase Two 阶段,整个功能集已被冻结,将不再对 JEP 进行改动。

Java 19 只有 7 个新特性:

405: Record Patterns (Preview) 记录模式
422: Linux/RISC-V Port Linux/RISC-V 移植
424: Foreign Function & Memory API (Preview) 外部函数和内存 API 
425: Virtual Threads (Preview) 虚拟线程
426: Vector API (Fourth Incubator) 向量 API
427: Pattern Matching for switch (Third Preview) Switch 模式匹配
428: Structured Concurrency (Incubator) 结构化并发

下面对新特性作简短的介绍:

记录模式 (预览版)

使用 记录模式 增强 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 时间表:

2022/06/09   Rampdown Phase One Rampdown 第一阶段 (fork from main line)
2022/07/21   Rampdown Phase Two Rampdown 第二阶段
2022/08/11   Initial Release Candidate 初始候选版本(RC)
2022/08/25   Final Release Candidate  最终候选版本(RC)
2022/09/20   General Availability 稳定版本

其中 Rampdown 主要是修 Bug 和测试阶段。 
 

还有一个有意思的事:从 Java 16 开始,每个版本的特性数量越来越少:

  • Java 16:17 个
  • Java 17:14 个
  • Java 18 :9 个
  • Java 19 :7 个

Java 20 不会变成 5 个吧...


相關推薦

2022-09-21

作量。 详情查看 Java 引入预览版虚拟线程(协程)功能,大幅提高应用吞吐量 426:向量 API (Vector API) 进入第 4 孵化阶段 向量计算由对向量的一系列操作组成。向量 API 用来表达向量计算,该计算可以在运行时可靠地编

2023-06-10

17 之后的又一 LTS 版本。 进入 Rampdown 第一阶段后,整个功能集被冻结。除了一个正在运行的 JEP 将被丢弃之外,此版本将不再针对 JEP 进行改动,而是专注于错误修复和其他已批准的增强功能。 JDK 21 版本共有 15 个 JEP ,是 JD

2023-06-13

截至 6 月 8 日,JDK 21 已进入 Rampdown 第一阶段;随着整个功能集被冻结,分代式 Shenandoah (Generational Shenandoah) 功能将被删除(从 16 个功能削减到 15 个),这是一种增强 Shenandoah 垃圾收集器 (GC) 的实验性功能。 根据介绍,分代式

2022-08-02

新特性 对 Java 19 的支持 注意:对 Java 17 预览语言功能的支持已被删除 Gherkin 支持 错误修复 apex ApexSOQLInjection:增加支持计数查询 core CPD也应该提供一个 -debug 标志 CPD:在 XML 报告中增加 token

2022-10-27

GraalVM 22.3 社区版已发布。作为 2022 年的最后一个功能版本,GraalVM 22.3 社区版在接下来的 12 个月都会获得更新。因此,如果你正在考虑升级 GraalVM,现在是一个很好的时机。 GraalVM 是一个高性能的 JDK 发行版。它旨在加速用 Jav

2022-11-27

型依赖块,以及用于 Java 工具链配置的可插拔系统。 新功能和可用性改进 添加了对 Java 19 的支持 Gradle 7.6 支持在 Java 19 上编译、测试和运行。 为 JVM 测试套件引入强类型 dependencies 块 JVM 测试套件 dependencies  块现在使用

2022-12-09

va 19 特性仍处于预览阶段。 引入新的用于 class 的帮助功能 改进“提取局部变量” 重构 > 提取 局部变量中提供的提取局部变量重构已得到改进,可以识别添加局部变量可能导致 NullPointerException 的情况,因为它

2022-06-28

认/开箱即用状态,在测试期间没有将额外的参数传递给 Java 实现,以查看 JVM 实现的参考性能 接下来看看值得关注的测试结果。 在基本的 Java SciMark 2.0 测试中,不同版本的 JDK 性能没有太大差距。至于 JVM 性能方面,相

2022-10-07

Java 轻量级应用开发框架。可用来快速开发 Java 应用项目,主框架仅 0.1 MB。 相对于 Spring Boot 和 Spring Cloud 的项目: 启动快 5 ~ 10 倍。 (更快) qps 高 2~ 3 倍。 (更高) 运行时内存节省 1/3 ~ 1/2。 (更少) 打包可以缩

2022-03-15

左右进行 Debian 12.0 软冻结(Soft Freeze,软冻结默认软件的功能已完整,团队将停止功能开发,仅提交 Bug 修复),在 3 月 12 日左右进行全面硬冻结(硬冻结期间,关键软件包和没有自动化测试的软件包禁止自动迁移,需要发布团队

2022-09-18

JavaFX 19 需要 JDK 11 或更高版本。此版本增强了视频和 CSS 功能,修复了一些触摸屏错误。 JavaFX 19 其他功能:在 FXCollections 中更快地创建可观察的 ArrayList ,用户无需重新启动应用即可更新可用的打印机列表。 其他更新: 添

2022-07-05

造企业级通信应用。 这个版本犹豫了许久,没有别的新特性加入,仅仅是将JDK版本适配至 11,看似为了发版而发版。 为了避免对老用户造成困扰,先在此作一下澄清:1.5.x 系列的版本会依旧以 JDK 1.8 版本继续维护下去。 至于

2023-12-28

; 新增了通过Spring的XML配置文件配置指标导出过滤器的功能; 新增了纯内存模式缓存的快照功能; 新增了客户端连接的扩展调试日志; IndexQuery新增了限制结果集条数的功能; 新增了快照检查功能的日志记录; 新增

2023-04-30

11 年 7 月发布的 LTS 版本) 的支持已于 2022 年结束,现只有 0.28% 的应用程序仍在生产中使用该版本。大多数使用 Java 7 的应用程序都是尚未升级的遗留应用程序。 Java 14 是最受欢迎的非 LTS 版本 与 LTS 版本相比,仅支持六个