
甲骨文(Oracle)发布了 Java 编程语言和虚拟机的第 25 版。作为自JDK 21以来的第一个长期支持(LTS)版本,最终特性集包括 18 个 JEP(Java 增强提案),其中 7 个已经最终确定。这些特性中有 9 个专注于性能和运行时。这个最终特性集中的 JEP 包括:
JEP 470:PEM编码的加密对象(预览)
JEP 502:稳定值(预览)
JEP 503:移除32位x86移植版本
JEP 505:结构化并发(第五次预览)
JEP 506:作用域值
JEP 507:模式、instanceof和switch中的原始类型(第三次预览)
JEP 508:向量API(第十轮孵化)
JEP 509:JFR CPU-Time剖析(实验性)
JEP 510:密钥派生函数API
JEP 511:模块导入声明
JEP 512:紧凑源文件和实例主方法
JEP 513:灵活的构造函数体
JEP 514:提前编译命令行人体工程学
JEP 515:提前编译方法分析
JEP 518:JFR协同抽样
JEP 519:紧凑对象头
JEP 520:JFR方法计时与跟踪
JEP 521:代际Shenandoah
其中七个,作用域值、密钥派生函数 API、模块导入声明、紧凑源文件和实例主方法、灵活的构造函数体、紧凑对象头和代际 Shenandoah,在经历了各自的孵化和预览后最终确定,后两个是 JDK 24 中是实验特性。
这个版本还专注于性能和运行时,因为这些 JEP 中有九个是在Project Leyden和HotSpot JVM的支持下进行的。这包括两个 JEP,提前编译命令行人体工程学和提前编译方法分析,它们加入了 JEP 483,提前编译类加载和链接,这是 Project Leyden 在 JDK 24 中交付的第一个功能。
下图展示了自 JDK 8 以来每个 Java 版本中的 JEP 数量,如甲骨文博客文章中所示。

我们将研究其中的一些 JEP,讨论 JDK 25 的启动事件,并更新对 JDK 26 中可能包含功能的预测。
JFR 方法计时与跟踪
JEP 520,JFR方法计时与跟踪,提议通过字节码`Instrumentation` 接口扩展 JFR,增加方法计时和跟踪的功能。两个新的 JFR 事件, jdk.MethodTiming
和 jdk.MethodTrace
,分别在 MethodTimingEvent
和 MethodTraceEvent
类中使用,接受一个过滤器来选择适当的方法进行计时和跟踪。
紧凑对象头
JEP 519,紧凑对象头,提议将这个功能从实验级别提升到产品级别。受Project Lilliput启发,这个功能“将 HotSpot JVM 中对象头的大小从 96 到 128 位减少到 64 位”。关于 JEP 519 的更多细节可以在这篇InfoQ新闻中找到。
JFR 合作采样
JEP 518,JFR协同抽样,提议“提高 JDK 飞行记录器 Flight Recorder(JDK Flight Recorder,JFR)异步采样 Java 线程栈时的稳定性。”这是通过在安全点(safepoint)遍历调用栈来实现的,即线程在定义良好的代码位置暂停的点。
提前编译(AOT)方法分析
JEP 515,提前编译方法分析,提议通过“使应用程序的前一次运行中的方法执行配置文件在 HotSpot JVM 启动时立即可用”来提高应用程序的预热时间。这允许 JIT 编译器在应用程序启动时立即生成本地代码,而不是等待收集配置文件。
提前编译(AOT)命令行人体工程学
JEP 514,提前编译命令行人体工程学,提议简化创建提前编译(AOT)缓存的过程,如 JEP 483,提前编译类加载和链接中所述,这可能通过“简化常见用例所需的命令”来加速 Java 应用程序的启动。
JFR cpu 时间剖析(实验性)
JEP 509,JFR CPU-Time剖析(实验性),是这个版本中唯一的新实验性功能,提议增强 JFR 以利用 Linux 内核 CPU 计时器,准确地测量 CPU 周期消耗。这将提供捕获 Java 应用程序 CPU 时间分析信息的能力。
JDK 25 发布活动
JDK 25发布活动于 2025 年 9 月 16 日在加利福尼亚州红木海岸的 Oracle 网站进行了直播,内容包括:与 Oracle Java 虚拟机高级总监Mikael Vidstedt一起进行 JDK 21 到 JDK 25 的性能更新;Oracle 高级产品经理Poonam Parhar对 JDK 21 到 JDK 25 的安全更新;与 Oracle Java 开发者关系副总裁Chad Arimura一起介绍 Java AI 库的发展;与 Oracle 的 Java 架构师Paul Sandoz一起进行用于 AI 的 Java 示例演示,包括异构加速器工具包(Heterogeneous Accelerator Toolkit,HAT);与 Oracle Java 平台组软件开发高级副总裁Georges Saab一起发展 Java 平台。还有大量示例演示,展示了Ana-Maria Mihalceanu、Billy Korando和Nicolai Parlog在 JDK 25 中的新功能,他们是 Oracle 的 Java 开发倡导者和直播主持人。
JDK 26
预计在 2026 年 3 月进行正式版本发布,目前有三个 JEP(JDK 增强提案)被确定为JDK 26的目标。然而,根据许多 JEP 候选提案和草案,尤其是那些已经提交的,我们可以推测还有哪些 JEP 有可能包含在 JDK 26 中。
JEP 522,G1 GC:通过减少同步来提高吞吐量,已被确定为 JDK 26 的目标。这个 JEP 提议减少 G1 垃圾收集器的开销,以改善应用程序线程和 GC 线程之间的同步。
JEP 517,HTTP/3 for the HTTP Client API,已被确定为 JDK 26 的目标。这个 JEP 提议“更新 HTTPClient API 以支持 HTTP/3 协议,以便库和应用程序可以与 HTTP/3 服务器交互,而只需最小的代码更改”。
JEP 504,移除Applet API,已被确定为 JDK 26 的目标。这个 JEP 提议移除在 JDK 17 中已被弃用的 Applet API,因为 Web 浏览器已不再支持 Applet,它将一直过时。
JEP 草案 8358541,TLS 1.3的后量子混合密钥交换,提议使用正在由互联网工程任务组(IETF)起草的TLS 1.3规范中的混合密钥交换,来增强 RFC 8446,传输层安全(TLS)协议版本1.3的实现,与 JEP 496,量子抗性模块-基于块格的密钥封装机制,一起使用,该机制已在 JDK 24 中交付。
请注意,JEP 草案可能随时会发生变化。
JDK 26的正式发布日期预计将在 2026 年 3 月,很快将由 Oracle Java 平台组首席架构师Mark Reinhold提出。开发者可以期待在 2025 年 12 月初进行特性冻结。
有关 JDK 25 中发布的其他 JEP 以及其他草案 JEP 和候选提案的更多详细信息,可以在这篇更详细的InfoQ新闻中找到。
JDK 25 现在可以从Oracle下载,预计其他供应商的二进制文件将在未来几天内提供。
原文链接:
评论