JDK 26,自JDK 25以来的第一个非长期支持(LTS)版本,已经达到了其二号候选版本,正如甲骨文公司 Java 平台组首席架构师Mark Reinhold所宣布的那样。主干源代码库在 2025 年 12 月初被分支到 JDK稳定化代码库(Rampdown 阶段 1),它定义了 JDK 26 的特性集。关键缺陷,如回归或严重的功能问题,可能会被解决,但必须通过修复请求流程获得批准。根据发布计划,JDK 26 将于 2026 年 3 月 17 日正式发布。
最终的 10 个新特性集,以 JEP 的形式,可以分为五(5)类:核心 Java 库、热点、Java 语言规范、安全库和客户端库。
其中五个(5)个新特性被归类为核心 Java 库:
JEP 517:面向HTTP Client API的HTTP/3(HTTP/3 for the HTTP Client API)
JEP 526:延迟常量(Lazy Constants,第二轮预览)
JEP 529:向量API(Vector API,第十一轮孵化)
其中两个(2)个新特性被归类为 HotSpot:
JEP 516:适用于任何GC的Ahead-of-Time对象缓存(Ahead-of-Time Object Caching with Any GC)
JEP 522:G1 GC:通过减少同步提高吞吐量(G1 GC: Improve Throughput by Reducing Synchronization)
其中有一个(1)个新特性被归类为 Java 语言规范:
其中有一个(1)个新特性被归类为安全库:
最后,有一个(1)个新特性被归类为客户端库:
我们研究了其中的一些新特性,和它们所属主要 Java 项目——Amber、Loom、Panama、Valhalla和Leyden,这些项目旨在孵化一系列组件,最终通过精心策划的合并到 JDK 中。
Amber 项目
JEP 530,模式、instanceof和switch中的原始类型(Primitive Types in Patterns, instanceof, and switch,第四轮预览),提出了第四次预览,此前三次预览分别在 JDK 25 至 JDK 23 中交付。本次包括两项变更:增强无条件精确性的定义;以及在 switch 结构中应用更严格的支配性检查。
Loom 项目
JEP 525,结构化并发(Structured Concurrency,第六轮预览),在 JDK 19 至 JDK 25 中交付的五轮预览之后,提出了第六轮预览。这个功能通过引入结构化并发的概念来简化并发编程,将“在不同线程中运行的一组相关任务视为一个工作单元,从而简化错误处理和取消,提高可靠性,并增强可观测性。”唯一的重大变更是向 StructuredTaskScope.Joiner 接口添加了 onTimeout() 方法,允许该接口的实现在超时后返回结果。
Panama 项目
JEP 529,向量API(Vector API,第十一轮孵化),在 JDK 16 至 JDK 25 中交付的十轮孵化之后,提出了第十一轮孵化,自 JDK 25 以来没有实质性的实现变更。这个功能引入了一个 API,用于“表达在支持的 CPU 架构上可靠地在运行时编译为最佳向量指令的向量计算,从而实现优于等效标量计算的性能。”向量 API 将继续孵化,直到项目Valhalla的必要功能作为预览功能可用。届时,向量 API 团队将调整向量 API 及其实现以使用它们,并将向量 API 从孵化阶段提升到预览阶段。
安全库
JEP 524,加密对象PEM编码(PEM Encodings of Cryptographic Objects,第二轮预览),在 JDK 25 中交付的第一轮预览,即 JEP 470,加密对象的PEM编码(预览)之后,提出了第二轮预览。变更包括:将 PEMRecord 类重命名为 PEM ;以及增强 PEMEncoder 和 PEMDecoder 类以支持 KeyPair 和 PKCS8EncodedKeySpec 类的加密和解密。
HotSpot
JEP 522,G1 GC:通过减少同步提高吞吐量(G1 GC: Improve Throughput by Reducing Synchronization),提议减少 G1 垃圾收集器的开销,以改善应用程序线程和 GC 线程之间的同步。
JEP 516,适用于任何GC的Ahead-of-Time对象缓存(Ahead-of-Time Object Caching with Any GC),提议增强 JEP 483,任何 GC 的提前类加载和链接,该功能在 JDK 24 中交付,以改善启动和预热时间,使其可以与任何垃圾收集器一起使用,包括低延迟的 Z 垃圾收集器(ZGC)。
JDK 27
计划于 2026 年 9 月发布 GA 版本,目前JDK 27只针对一(1)个 JEP。但是,根据大量的 JEP 候选和草稿,特别是那些已经提交的或增量预览版,我们可以推测哪些 JEP 有可能包含在 JDK 27 中。
JEP 401,值类和对象(Value Classes and Objects,预览版),在Valhalla项目的支持下,提议通过值对象增强语言,这些值对象定义为:只包含 final 字段;没有身份;并且仅由它们各自字段的值来区分。
JEP 草案 8376595,延迟常量(Lazy Constants,第三次预览),在 JDK 26 和 JDK 25 即将发布的两轮预览之后,提出了第三轮预览,并包含两项变更:从 LazyConstant 接口中移除 isInitialized() 和 orElse() 方法,因为它们与此功能的设计目标不一致;以及一个新的工厂方法 ofLazy() ,它可以为所有三种 Java 集合类型创建稳定的、预定义的元素,即: List 、 Set 和 Map 。
JEP 草案 8329758,使用ZGC实现更快的启动和预热(aster Startup and Warmup with ZGC),提议增强 Z 垃圾收集器,以更有效地根据应用程序的需求分配内存。通过创建一个小型的初始堆来减少操作系统的开销,可以最小化启动时间。
请注意,草案 JEP 可能会随时更改。我们预计甲骨文公司将很快开始针对 JDK 27 的目标,增加额外的 JEP。
原文链接:





