写点什么

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

  • 2022-03-21
  • 本文字数:2551 字

    阅读完需:约 8 分钟

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

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


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


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



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



该 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 ParlogJava内部新闻播报(第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 月发表的三篇系列文章:



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 居住在新泽西州弗莱明顿,他们在那里共度美好时光,骑行或跑步,旅行的话,则主要是到洛杉矶的新奥尔良和里约热内卢的新港。


原文链接:


JDK 18 and JDK 19: What We Know So Far

2022-03-21 10:174504

评论

发布
暂无评论
发现更多内容

百度智能云音视频处理产品 MCP 推出数字水印技术,为数字内容资产保驾护航

Baidu AICLOUD

数字水印

SD-WAN保障零售业的持续经营

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

Docker与低代码开发:重塑软件开发的未来

EquatorCoco

Docker 运维 低代码 容器化

软件测试学习笔记丨Python语法与数据结构-函数定义与调用

测试人

软件测试

2024上海国际智能科技及创新展览会

AIOTE智博会

科技展 创新展

手把手带你认识GaussDB轻量化运维管理工具

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

SD-WAN能解决企业网络的哪些问题?

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

流量变现的终极逻辑

老张

副业 码农副业 流量变现

商业世界的基本法则:通过业务协作提升财务水平

智达方通

企业财务管理

Python中那些简单又好用的特性和用法

EquatorCoco

Python Linux 运维 开发语言

常见的虚拟化技术有哪些呢?

小齐写代码

从注册开始,教你玩转GitHub

霍格沃兹测试开发学社

解决 npm install 报错的常见问题

霍格沃兹测试开发学社

2024年大语言模型的微调

快乐非自愿限量之名

人工智能 语言模型 LLM

华为各应用发布妇女节专题,一起感受女性创作者的力量

最新动态

如何快速上手Vue,一篇文章教会你

霍格沃兹测试开发学社

GaussDB(DWS)运维利刃:TopSQL工具解析

不在线第一只蜗牛

Java sql 运维

AI应用开发:你知道怎么用好pgvector吗(下篇)

张文平

数据库 postgresql AI 开发 pgvector

Vue router路由设计

霍格沃兹测试开发学社

课程预告 | 学姐领航,共学PolarDB-X:从入门到精通实操课

阿里云数据库开源

阿里云 分布式数据库 课程 polarDB PolarDB-X

为什么SD-WAN成为了组网发展大趋势?

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

妇女节:打开AI视界,成就“她力量”

飞桨PaddlePaddle

百度 开发者 百度飞桨 女性力量 三八妇女节

守护更多女性健康,华为云GeminiDB助力美柚数据库高效稳定迁移

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GeminiDB

AI应用开发:pgvector在文本搜索中的革命(上篇)

张文平

人工智能 postgresql AI 应用开发 pgvector

Docker Logs命令详解

霍格沃兹测试开发学社

云服务器与云主机的性能对比:优势与应用场景分析

一只扑棱蛾子

云服务器

HTTP Authorization 头的角色与作用

Liam

程序员 前端 后端 HTTP Authorization

智能合约开发:比特币智能合约和应用程序综合指南

区块链软件开发推广运营

区块链开发 链游开发 NFT开发 公链开发

一文告诉你Vue的事件处理

霍格沃兹测试开发学社

云迁移中的CT-CMS任务操作指南

天翼云开发者社区

云计算 数据 迁移

JDK 18 最新动态和 JDK 19 新特性预测_语言 & 开发_Michael Redlich_InfoQ精选文章