OpenJDK近期新闻:Vector API、Ahead-of-Time对象缓存、准备让Final字段不可修改

Source: InfoQ - Backend

在JDK 26中将进入Targeted状态的三个JEP

JEP 529(向量API)进入"第十一轮孵化"。该提案在JDK 16至JDK 25中经过了十轮孵化,但自JDK 25以来没有任何实质性的实现更改。这个特性引入了一个API,用于“在支持的CPU架构上将向量计算可靠地编译为最优向量指令,从而实现优于等效标量计算的性能”。向量API将继续处于孵化阶段,直至Valhalla"项目的必要功能以预览特性的形式发布。届时,向量API团队将调整向量API及其实现以适配这些功能,并将向量API从孵化阶段提升至预览阶段。

JEP 516(适用于任何GC的Ahead-of-Time对象缓存")提议"增强在JDK 24中交付的JEP 483(Ahead-of-Time类加载和链接"),以改善启动和预热时间,使其可以与任何垃圾收集器一起使用,包括低延迟Z垃圾收集器(ZGC)。

JEP 500(准备让Final字段不可修改")提议"让Java生态系统做好准备,后续将不允许使用深度反射(通常使用AccessibleObject"类中定义的setAccessible()方法)修改声明为final的字段。

在JDK 26中将进入Proposed to Target状态的三个JEP

经过在JDK 25和JDK 23中的三次预览后,JEP 530(模式、instanceof和switch中的原始类型")进入"第四轮预览。本次预览有两个主要变化:增强无条件精确性"的定义;在switch构造中应用更严格的支配"检查。审查预计将在2025年11月13日结束。

经过第一轮预览(JEP 502:稳定值预览")之后,JEP 526(延迟常量")在JDK 26中进入"第二轮预览。这个特性(以前被称为稳定值和计算常量)引入了计算常量的概念,将其定义为最多初始化一次的不可变值持有者。它提供了final字段的性能和安全优势,同时为初始化时机提供了更大的灵活性。这个JEP的修订包括:提案名称从稳定值更改为延迟常量,新名称可以更好地反映高级用例的意图;增强可发现性。审查预计将在2025年11月12日结束。InfoQ将继续跟进,带来更详细的新闻报道。

在JDK 25中完成第一轮预览(JEP 470:加密对象PEM编码预览)之后,JEP 524(加密对象PEM编码第二轮预览")进入"第二轮预览,变化包括:将PEMRecord"类重命名为PEM";增强PEMEncoder"和PEMDecoder"类,以便支持KeyPair"和PKCS8EncodedKeySpec"类的加密和解密。审查预计将在2025年11月10日结束。InfoQ将继续跟进,带来更详细的新闻报道。

JDK 26功能集(到目前为止)和发布时间表

最近,Oracle Java平台组首席架构师Mark Reinhold批准了JDK 26的发布时间表,如下:

Rampdown第一阶段(从主干创建分叉):2025年12月4日Rampdown第二阶段:2026年1月15日初始发布候选:2026年2月5日最终发布候选:2026年2月19日正式发布:2026年3月17日

距离计划中的第一阶段仅剩三周时间的时候,JDK 26的功能集将被冻结。目前有10项JEP(包括Proposed to Target状态的提案)进入功能集:

JEP 500:准备让Final字段不可修改"JEP 504:移除Applet API"JEP 516:适用于任何GC的Ahead-of-Time对象缓存"JEP 517:面向HTTP Client API的HTTP/3"JEP 522:G1 GC:通过减少同步提高吞吐量"JEP 524:加密对象PEM编码(第二轮预览)"JEP 525:结构化并发(第六轮预览)"JEP 526:延迟常量(第二轮预览)"JEP 529:向量API(第十一轮孵化)"JEP 530:模式、instanceof和switch中的原始类型(第四轮预览)"

JDK 26将是自2025年9月发布JDK 25以来的首个非LTS版本。

原文链接:

https://www.infoq.com/news/2025/11/jdk-news-roundup-nov03-2025/"