首页 科技开发工具 娱乐游玩工具 热门工具   APP 登录/注册 联系/合作
   
 
JDK 20 和 JDK 21:到目前为止我们所知道的
JDK 20是自JDK 17以来的第三个非 LTS 版本,正如Oracle Java Platform Group 首席架构师Mark Reinhold所宣布的那样,它已进入初始发布候选阶段。主线源存储库在 2022 年 12 月中旬(Rampdown 第一阶段)分支到 JDK 稳定存储库,定义了 JDK 20 的功能集。可能会解决严重错误,例如回归或严重的功能问题,但必须通过Fix-Request流程批准。根据发布时间表,JDK 20 将于 2023 年 3 月 21 日正式发布。值得注意的是,JEP 438 已于 2023 年 3 月上旬添加到功能集中。

最后一组七 (7) 个新功能,以JEP的形式,可以分为两 (2) 个类别:Core Java Library和Java Specification。

这些新功能中有五 (5) 个归类在核心 Java 库中:

JEP 429:作用域值(孵化器)
JEP 434:外部函数和内存 API(第二次预览)
JEP 436:虚拟线程(第二次预览)
JEP 437:结构化并发(第二个孵化器)
JEP 438:矢量 API(第五孵化器)
这些新功能中的两 (2) 个归类在Java 规范中:

JEP 432:记录模式(第二次预览)
JEP 433:switch 的模式匹配(第四次预览)
我们检查了这些新功能,并包括它们在四个主要 Java 项目( Amber、Loom、Panama和Valhalla )的支持下的位置,这些项目旨在孵化一系列组件,最终通过精心策划的合并将其包含在 JDK 中。

琥珀计划
JEP 432,Record Patterns(第二次预览版),结合了增强功能以??响应上一轮预览版JEP 405,Record Patterns(预览版)的反馈。这建议使用记录模式来增强语言以解构记录值。记录模式可以与类型模式结合使用,以“实现一种强大的、声明式的、可组合的数据导航和处理形式”。switch最近通过 JEP 406,开关模式匹配(预览版)扩展了类型模式以用于case 标签,在 JDK 17 中交付;和 JEP 420,switch 的模式匹配(第二次预览),在 JDK 18 中交付。与 JEP 405 相比的变化包括:增加了对通用记录模式类型参数推断的支持;添加了对记录模式的支持,以显示在增强的 for 语句的标头中;并删除对命名记录模式的支持。

同样,JEP 433,switch 的模式匹配(第四次预览),包含增强功能以??响应前三轮预览的反馈:JEP 427,switch 的模式匹配(第三次预览),在 JDK 19 中交付;JEP 420,switch 的模式匹配(第二次预览),在 JDK 18 中交付;和 JEP 406,switch 的模式匹配(预览版),在 JDK 17 中提供。JEP 427 的变化包括:标签的简化语法switch;switch表达式和语句以及支持模式的其他构造现在支持泛型类型模式和记录模式的类型参数推断。

织机计划
JEP 429,Scoped Values (Incubator),一个孵化JEP,以前称为Extent-Local Variables (Incubator),提议在线程内和线程间共享不可变数据。这优于线程局部变量,尤其是在使用大量虚拟线程时。

JEP 436 Virtual Threads (Second Preview)提出了 JDK 19 中提供的 JEP 425 Virtual Threads (Preview)的第二个预览,以便有时间获得额外的反馈和经验,以推动此功能的发展。此功能为 Java 平台提供了虚拟线程、轻量级线程,可显着减少编写、维护和观察高吞吐量并发应用程序的工作量。重要的是要注意,除了 JEP 425 中的少量 API 已在 JDK 19 中成为永久性 API 之外,此预览版中没有任何更改,因此未在第二个预览版中提出。有关 JEP 425 的更多详细信息,请参阅这篇 InfoQ新闻报道和José Paumard投射的JEP Café屏幕,Java 开发人员倡导者,Oracle 的 Java 平台组。

JEP 437,结构化并发(第二个孵化器) ,建议从 JDK 19 中交付的 JEP 428,结构化并发(孵化器)重新孵化这个特性,以便有时间获得额外的反馈和经验。此功能的目的是通过引入一个库将在不同线程中运行的多个任务视为一个工作单元来简化多线程编程。这可以简化错误处理和取消、提高可靠性并增强可观察性。唯一的变化是更新了StructuredTaskScope类,以支持在任务范围内创建的线程继承范围值。这简化了跨线程共享不可变数据。有关 JEP 428 的更多详细信息,请参阅这篇 InfoQ新闻报道。

巴拿马项目
JEP 434,Foreign Function & Memory API(第二个预览版),结合基于反馈的改进,并提供 JEP 424,Foreign Function & Memory API(预览版)的第二个预览,在 JDK 19 中交付,以及相关的孵化 JEP 419,Foreign Function & Memory API(第二个孵化器),在 JDK 18 中交付;和 JEP 412,外部函数和内存 API(孵化器),在 JDK 17 中提供。此功能为 Java 应用程序提供 API,通过有效调用外部函数和安全访问外部内存来与 Java 运行时之外的代码和数据进行互操作不由 JVM 管理。JEP 424 的更新包括:MemorySegment和MemoryAddress接口现在是统一的,即内存地址由零长度内存段建模;密封接口已得到增强,以便于与 JDK 19 中提供的MemoryLayoutJEP 427,开关模式匹配(第三个预览版)一起使用。

JEP 438,Vector API(第五孵化器),包含增强功能以??响应前四轮孵化器的反馈:JEP 426,Vector API(第四孵化器),在 JDK 19 中交付;JEP 417,Vector API(第三孵化器),在 JDK 18 中交付;JEP 414,Vector API(第二个孵化器),在 JDK 17 中交付;和 JEP 338,Vector API(孵化器) ,作为 JDK 16 中的孵化器模块提供。此功能建议增强 Vector API 以加载和存储向量到JEP 424,外部函数和内存 API(预览版)MemorySegment定义的.

JDK 21
计划于 2023 年 9 月发布 GA 和下一个 LTS 版本,目前提议将两 (2) 个 JEP作为JDK 21的目标。

JEP 430,String Templates (Preview)是一种 JEP 类型,建议使用字符串模板增强 Java 编程语言,字符串模板类似于字符串文字,但包含在运行时合并到字符串模板中的嵌入式表达式。此功能已被归类为 JDK 21的目标提案,但尚未正式公布审核日期。

JEP 431,Sequenced Collections,提议引入“一个新的接口系列,代表集合的概念,其元素按定义明确的顺序排列,作为集合的结构属性。” 这是由于 Collections Framework 中缺乏明确定义的顺序和统一的操作集。此功能已被归类为 JDK 21的目标提案,但尚未正式公布审核日期。

我们可以根据一些 JEP 草案和候选者推测哪些额外的 JEP 有可能包含在 JDK 21 中。

JEP 草案 8303358,Scoped Values(预览版),由Red Hat 的杰出工程师Andrew Haley和Andrew Dinn提交,改进了 JEP 429, Scoped Values(孵化器),在即将发布的 JDK 20 中交付。以前称为Extent-Local变量(孵化器) ,在Loom 项目的支持下,此功能提议在线程内和线程间共享不可变数据。这优于线程局部变量,尤其是在使用大量虚拟线程时。虽然这个草案还没有达到候选状态,但描述中明确指出这个 JEP 将被添加到 JDK 21 中。

JEP Draft 8277163 Value Objects (Preview)是Valhalla 项目赞助下的 JEP 特性,它提议创建值对象——无身份的值类,它指定了它们实例的行为。该草案与 JEP 401, Primitive Classes (Preview)相关,目前仍处于候选状态。

JEP 435,Asynchronous Stack Trace VM API,一种 JEP 类型,建议定义一个高效的 API,用于获取异步调用跟踪,以便从具有 Java 和本机帧信息的信号处理程序进行分析。

JEP 401,原始类(预览版),在 Valhalla 项目的支持下,引入了开发人员声明的原始类——特殊类型的值类——如上述值对象(预览版)JEP 草案中所定义——定义了新的原始类型。

JEP Draft 8301034 Key Encapsulation Mechanism API是一种 JEP 类型,提议:满足标准密钥封装机制(KEM) 算法的实现;通过更高级别的安全协议满足 KEM 的用例;并允许服务提供商插入 Java 或 KEM 算法的本机实现。该草案最近进行了更新,包括一项重大更改,该更改消除了DerivedKeyParameterSpec支持将字段放置在方法的参数列表中的类encapsulate(int from, int to, String algorithm)。

JEP Draft 8283227,JDK Source Structure,一种信息性的 JEP 类型,描述了 JDK 源代码和 JDK 存储库中相关文件的总体布局和结构。这个 JEP 提议帮助开发人员适应JDK 9 中提供的JEP 201,模块化源代码中描述的源代码结构。

JEP Draft 8280389,ClassFile API,提议提供一个用于解析、生成和转换 Java 类文件的 API。这个 JEP 最初将作为JDK 中ASM (Java 字节码操作和分析框架)的内部替代品,并计划将其作为公共 API 开放。Oracle 的 Java 语言架构师Brian Goetz将 ASM 描述为“一个带有大量遗留包袱的旧代码库”,并提供了有关该草案将如何发展并最终取代 ASM 的背景信息。

JEP Draft 8278252,JDK Packaging and Installation Guidelines,一个信息性的 JEP,提议为在 macOS、Linux 和 Windows 上创建 JDK 安装程序提供指南,以减少不同 JDK 提供商在 JDK 安装之间发生冲突的风险。目的是通过正式化安装目录名称、包名称和其他可能导致冲突的安装程序元素,在安装 JDK 更新版本时提供更好的体验。

我们预计 Oracle 将很快开始针对 JDK 21 的更多 JEP。
最新文章:
所有文章资讯、展示的文字、图片、数字、视频、音频、其它素材等内容均来自网络媒体,仅供学习参考。内容的知识产权归属原始著作权人所有。如有侵犯您的版权,请联系我们并提供相应证明,本平台将仔细验证并删除相关内容。
工具综合排行榜
TOP 1
双计算器 双计算器
同时用两个计算器,用于价格对比、数字分别计算等
TOP 2
推算几天后的日期 推算几天后的日期
推算从某天开始,增加或减少几天后的日期
TOP 3
随机密码生成 随机密码生成
随机生成安全复杂的密码,自由设置密码长度及复杂度
TOP 4
推算孩子的血型 推算孩子的血型
根据父母的血型推测子女的血型
TOP 5
日期转中文大写 日期转中文大写
把数字日期转成中文大写,是财务或商务合同常用的工具
热门内容:       双计算器       推算孩子的血型       随机密码生成       日期转中文大写       推算几天后的日期       达轻每日一景       高校分数线       高校查询       周公解梦大全
首页 科技开发工具大全
娱乐游玩工具大全
登录/注册
联系我们
  用户咨询/建议
kf@ss3316.com


商务合作/推广
hz@ss3316.com

达轻工具 APP

访问手机版网站
使用本平台必读并同意:任何内容仅供谨慎参考,不构成建议,不保证正确,平台不承担任何责任,同意用户协议隐私政策   
BaiduTrust安全认证签章
© 达轻科技 版权所有 增值电信业务经营许可证 ICP备 沪B2-20050023-3