JDK 18 最新动态和 JDK 19 新特性预测

2022 年 3 月 24 日 InfoQ

作者 | Michael Redlich
译者 | 平川
策划 | 丁晓昀

JDK 18 是 JDK 17 之后第一个非 LTS 版本。按照甲骨文公司 Java 平台组首席架构师 Mark Reinhold 的说法,JDK 18 已进入初始候选发布阶段。JDK 稳定库分支已于 2021 年 12 月初从主干源码库创建(Rampdown Phase One)。该分支定义了 JDK 18 的特性集。严重缺陷,如回归或严重的功能问题,还可以解决,但必须通过 Fix-Request 流程审批。

最终的特性集包含 9 个新特性。这些以 JEP 形式出现的特性可以分为三类:核心 Java 库、Java 工具和 Java 规范。我们对这些特性进行了研究,其中一些属于四大 Java 项目——Amber、Loom、Panama 和 Valhalla——的范畴。这些项目旨在孵化一系列组件,通过策划合并最终纳入 JDK。

以下 7 项新特性可以归入核心 Java 库

  • JEP 400:默认字符集 UTF-8(java.nio.charsets

  • JEP 408:简单 Web 服务器(java.net

  • JEP 416:用方法手柄重新实现核心反射 (java.lang.reflect

  • JEP 417:Vector API(三阶段孵化)

  • JEP 418:网络地址解析 SPI(java.net

  • JEP 419:外部函数 & 内存 API(二阶段孵化)

  • JEP 421:弃用 Finalization 以备删除(java.lang

其中两项,JEP 417 和 JEP 419,为实现 Panama 项目提供了持续的贡献。该项目旨在改进和完善 JVM 与明确定义的“外部”(即非 Java API,很可能包含 C 程序库中常用的接口)之间的互操作性。Panama 项目于 2014 年启动,由甲骨文软件架构师 Maurizio Cimadamore 负责。其早期访问构建基于 JDK 19 的一个不完整版本,最近一次更新是在 2022 年 1 月 18 日。

JEP 418 为实现 Loom 项目提供了持续的贡献。该项目旨在探索、孵化和提供 Java VM 特性和 API,以支持易于使用、高吞吐量的新型轻量级并发编程模型。这将通过虚拟线程、定界延续(delimited continuations)和尾调用来完成。Loom 项目于 2018 年启动,由甲骨文公司技术部门咨询顾问 Ron Pressler 负责。其早期访问构建基于 JDK 19 的早期访问构建 Build 9,最近一次更新是在 2022 年 2 月 13 日。

剩下的两个 JEP:

  • JEP 413:Java API 文档中的代码片段

该 JEP 属于第二类 Java 工具,为 Oracle 的 Standard Doclet(就是那个有名的 Java API 文档工具,默认生成 HTML 格式的输出)引入了@snippet标签。其目的是为了简化 API 文档中示例源代码的收录。

  • JEP 420:Switch 模式匹配(第二个预览版)

该 JEP 属于 Java 规范类,它为完成 Amber 项目做出了持续的贡献。该项目旨在探索和孵化可以提高生产力的 Java 语言小特性。Amber 项目于 2017 年启动,由甲骨文公司 Java 语言架构师 Brian Goetz 负责。

按照发布时间表,JDK 18 的正式发布日期是 2022 年 3 月 22 日。

JDK 19

按照计划,JDK 19 将在 2022 年 9 月正式发布,当前该版本还没有锚定任何 JEP。不过,根据最近的 JEP 草案、JEP 候选以及 Oracle Java 开发大使 Nicolai Parlog 的 Java 内部新闻播报(第 18 期) (Java 的 2022 计划),我们可以推测出哪些 JEP 有可能被纳入 JDK 19。

Valhalla 项目旨在探索和孵化 JVM 和 Java 语言高级候选特性。这包括值类型、泛型特化和关键字 volatile 增强。Valhalla 项目于 2014 年启动,也是由 Brian Goetz 领导的。早期访问构建最后更新是在 2019 年 8 月 30 日,目前还非常有限。不过,在过去的一年中,这个项目内的活动有所增加。

2022 年,Valhalla 项目计划包括:值类(JEP 草案 8277163:值对象(预览));原始类(JEP 401:原始类(预览)和 JEP 402:基本原始类(预览));通用泛型(JEP 草案 8261529:通用泛型(预览))。要想了解更多关于 Valhalla 项目的信息,建议开发人员阅读 Goetz 在 2021 年 12 月发表的三篇系列文章:

  • Valhalla 项目现状第一部分:通往 Valhalla 之路

  • Valhalla 项目现状第二部分:语言模型

  • Valhalla 项目现状第三部分:JVM 模型

2022 年,Amber 项目的计划包括:最终确定 switch 中的模式(可能是继 JEP 420 和 JEP 406:switch 模式匹配(预览版)(随 JDK 17 交付)之后的第三个预览版);引入更多的模式,如记录 / 数组的解构(JEP 405:记录模式(预览版)),可能还有常规类。JEP 405 最初名为记录模式 & 数组模式(预览版),与 JEP 406 关系密切。

2022 年,Panama 项目的计划包括:将当前正在孵化的外部 API 迁移到预览版中;改进外部 API 的实现;决定jextract的未来,即它是否应该成为一个独立的项目,并有一个相应的存储库;在 Valhalla 项目实现值类型和原始类型之前,暂缓 Vector API。JEP 草案 8280173:Vector API(四阶段孵化),提议根据 Java 社区对之前三个 JEP 的反馈,引入增强功能。这三个 JEP 分别是:JEP 338:Vector API(孵化),随 JDK 16 交付;JEP 414,Vector API(二阶段孵化),随 JDK 17 交付;JEP 417:Vecotr API(三阶段孵化),将随即将发布的 JDK 18 GA 版本交付。

2022 年,Loom 项目的计划包括:完成 JEP 草案 8277131:虚拟线程(预览版)和 JEP 草案 8277129:结构化并发(孵化);将这些特性并入 JDK 主库;进一步探索如何简化高并发应用程序调试,并进一步完善结构化并发。JEP 草案 8263012:作用域局部变量(Scope Locals(孵化器)),建议用作用域局部变量来增强 Java API,它们是作用域动态变化的 final 局部值。它们允许一种轻量级的线程继承形式。

我们预计,甲骨文将很快围绕 JDK 19 开展有关这些及其他 JEP 的工作。

作者简介:

Michael Redlich 是位于新泽西州克林顿的埃克森美孚工程研究部门高级研究员(他在本文中的观点和意见仅代表他自己,和他的雇主无关)。他是一名 IT 专业人士,拥有罗格斯大学计算机科学学士学位。自 2001 年以来,他一直是花园州 Java 用户组(原 ACGNJ Java 用户组)的主持人,同时也是一位经验丰富的会议发言人,在加入 InfoQ 之前与 Barry Burd 合作撰写了多篇文章。自 1989 年 12 月以来,作为埃克森公司和埃克森美孚公司的长期雇员,Mike 在公司中承担了许多任务,包括汽车测试、从事利用红外光谱学和化学计量学的分析科学研究、开发科学方面的 IT 应用,他目前的任务是从事利用流变学和聚合物物理学的高分子科学研究。在他的职业生涯中,Mike 发展了自己的领导能力,他曾担任新泽西州业余计算机小组(一个非营利性的 501(c)(3) 计算机教育组织)的主席,目前则担任花园州 Java 用户组(也是一个非营利性的 501(c)(3) 组织)的主管。Mike 是国际演讲协会的成员,最近取得了高级沟通者银牌证书。他酷爱跑步和骑行,完成了许多马拉松比赛。Mike 与他的妻子 Rowena 居住在新泽西州弗莱明顿,他们在那里共度美好时光,骑行或跑步,旅行的话,则主要是到洛杉矶的新奥尔良和里约热内卢的新港。

原文链接:

https://www.infoq.com/news/2022/03/java-18-so-far/?

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

开源还有真假?Neo4j 起诉3家公司虚假宣传开源胜诉

起家于俄罗斯的NGINX开源项目宣布禁俄,不知NGINX之父怎么想?

Solid.js 就是我理想中的 React

腾讯看点和微视开始裁员;俄罗斯数据存储告急;中文编写的操作系统“火龙”被质疑抄袭 | Q资讯

点个在看少个 bug 👇

登录查看更多
0

相关内容

Java 是一门编程语言,拥有跨平台、面向对象、泛型编程等特性。
【干货书】预测原理与实战,Forecasting: Principles & Practice
专知会员服务
92+阅读 · 2022年4月11日
【干货书】概率,统计与数据,513页pdf
专知会员服务
136+阅读 · 2021年11月27日
【干货书】Python参考手册,210页pdf
专知会员服务
63+阅读 · 2021年4月30日
【硬核书】Linux核心编程|Linux Kernel Programming,741页pdf
专知会员服务
78+阅读 · 2021年3月26日
【WWW2020-华为诺亚方舟论文】元学习推荐系统MetaSelector
专知会员服务
55+阅读 · 2020年2月10日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
7+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年4月19日
Arxiv
3+阅读 · 2022年4月18日
Arxiv
0+阅读 · 2022年4月17日
Arxiv
11+阅读 · 2019年4月15日
Arxiv
26+阅读 · 2018年8月19日
VIP会员
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
7+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员