【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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:174330

评论

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

多线程 VS 多进程(一)

若尘

多线程 多进程 Python编程 5月日更

2、kafka 2.8.0 源码环境搭建

杨四正

大数据 kafka 消息队列 kafka2.8

JavaScript+TensorFlow.js让你在视频中瞬间消失

不脱发的程序猿

JavaScript 人工智能 开源 TensorFlow.js

Flume的负载均衡load balancer

大数据技术指南

flume 5月日更

膜拜!Github访问量破百万,阿里内部首次公布的Java10W字面经有多强?

Java 程序员 架构 面试

飞桨前沿升级、顶级开源项目、产教融合育人,WAVE SUMMIT论坛内容先睹为快!

百度大脑

深度学习 飞桨

普通代码块 静态代码块 构造代码块......傻傻分不清

麦洛

Java

520 单身福利|获奖名单公布~

InfoQ写作社区官方

520单身福利 热门活动

BitMap 转置算法:不一样的 Count 求解方式

GrowingIO技术专栏

BitMap

SparkStreaming知识点总结

五分钟学大数据

大数据 5月日更

Serverless:这真的是未来吗?(二)

Serverless Devs

Serverless 运维 云原生 后端 无服务器

从酷睿双核到Tiger Lake-H,英特尔如何帮游戏笔记本完成蜕变

E科讯

前端实操案例丨如何实现JS向Vue传值

华为云开发者联盟

Vue 大前端 js Promise Vuex state

看MindSpore加持下,如何「炼出」首个千亿参数中文预训练语言模型?

华为云开发者联盟

框架 mindspore 盘古 NLP 大模型 中文预训练模型

java性能分析与问题定位 实战

try catch

Java 性能分析

支付中心设计

try catch

支付 支付中心

测试开发网络篇-网络协议简介

禅道项目管理

软件测试 自动化测试 测试开发

基础设施设施即代码(IaC)平台 Pulumi | 混合云管理利器

郭旭东

基础设施即代码 IaC

聊聊那些小而美的开源搜索引擎

代码先生

搜索引擎 elasticsearch meilisearch

HIVE跑个insert into select xxx 为什么CPU飙高

InfoQ_Springup

hadoop

详解JQuery框架的五大选择器

华为云开发者联盟

jquery 选择器 层级选择器 属性选择器 过滤选择器

DEMO WORLD分论坛聊些啥?高端制造、未来出行、皮肤科技、未来产业……

创业邦

创新

看完了京东年薪150万的大佬扔给我的“阿里内部Java 成长笔记”,差距不止一点点

Java 程序员 架构 面试 计算机

让人工智能成为保险行业科技基因的一部分!

百度大脑

人工智能 保险

深入浅出分布式存储性能优化方案

焱融科技

云计算 分布式 高性能 云存储 超融合

千万级学生管理系统考试试卷存储方案设计

Hesher

架构 Architecture 架构实战营 存储系统

iOS开发底层原理技术~RAC深度解析

ios cocoa 程序员 移动开发

架构实战营模块3课后作业-基于“自研集群+MySQL存储”的消息队列架构设计方案

吴建中

架构实战营

智能视频云3.0全景图来了!深度融合视频应用共创行业新生态

百度大脑

云智一体 智能视频 云智技术

测试开发专题-开篇

禅道项目管理

软件测试 自动化测试 测试开发

阿里分布式大神亲码“redis核心技术笔记”,没有废话,全是干货!

Java架构追梦

Java redis 阿里巴巴 架构 架构分布式

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