
OpenJDK
JEP 522,G1 GC:通过减少同步提高吞吐量(G1 GC: Improve Throughput by Reducing Synchronization),在 JDK 26 中已从 Proposed to Target提升至 Targeted 状态。这个 JEP 提议减少 G1 垃圾收集器的开销,以改善应用程序线程和 GC 线程之间的同步。
JEP 500,让final名副其实(Prepare to Make Final Mean Final),已从 JEP Draft 8349536提升至 Candidate 状态。这个 JEP 提议使 Java 生态系统做好必要的准备,不允许使用深度反射(通常使用AccessibleObject
类中定义的setAccessible()
方法)改变声明为final
的字段。
JDK 回归测试框架(Regression Test Harness)jtreg
的 8.0.0 版本已集成至JDK 主干分支及默认测试框架。最显著的变更在于该版本捆绑了AsmTools 8.1 和JUnit 5.13.3。同时修复了--verify-exclude
命令行选项在检测到失败时无法中止测试运行的问题。自本版本起,jtreg
将采用 JDK 17 进行编译。更多发布详情请参阅发布说明。
JDK 25
甲骨文发布了 Java 编程语言和虚拟机的第25个版本,其中包含了 18 个 JEP 的最终功能集。更多详细信息,请参阅此前的InfoQ新闻报道。
JDK 26
JDK 26 的早期访问构建版本Build 16发布,其中包括对 Build 15 的更新,修复了各种问题。有关此版本的更多详细信息,请参阅发布说明。
GraalVM
与JDK 25的发布同时,甲骨文实验室发布了release of GraalVM for JDK 25,提供了原生镜像相关的新功能,例如,增强对 JEP 454,外部函数和内存API(Foreign Function & Memory API,FFM)的支持,包括配置 FFM API 的新语法和Arena
接口中定义的ofShared()
方法的实现,以及 JEP 338,向量API(Vector API,孵化)的初始优化操作的实现。有关此版本的更多详细信息,请参阅发布说明。
甲骨文宣布,他们会将 GraalVM 从 Java 发布列车中分离出来,因为他们将专注于非 Java 的 Graal 语言,如GraalPy和GraalJS。与 JDK 24 一起发布的GraalVM for JDK 24,是“最终作为甲骨文 Java SE 产品的一部分许可和支持的 GraalVM 发布”。甲骨文表示,将稍后提供有关此变化的更多详细信息。
BellSoft LibericaJDK
BellSoft 的下游 OpenJDK 25 发行版Liberica JDK 25已经发布。BellSoft 的开发倡导者Catherine Edelveis在 YouTube视频中“开箱”了 JDK 25 中的所有新功能以及一个简短的代码示例。开发人员可以从这个网站下载这个最新版本。
Jakarta EE
在每周的Hashtag Jakarta EE博客中,Eclipse 基金会的 Jakarta EE 开发倡导者Ivar Grimstad提供了关于 Jakarta EE 12 的更新:
关于在Jakarta EE 12中添加新规范的讨论在本周的 Jakarta EE 平台会议中继续进行。Jakarta Query和Jakarta NoSQL是最有可能的候选规范。此外,我们还讨论了可能将Jakarta Debugging Support for Other Languages折叠到Jakarta Pages中,或者从 Platform 中移除它。
根据 Jakarta EE 12 的发布计划,前两个里程碑版本计划在 2025 年第三季度发布。
Spring Framework
Spring 社区最近比较忙碌,各个团队交付了Spring Boot、Spring Security、Spring for GraphQL, Spring Integration、Spring Modulith、Spring REST Docs、Spring Batch和Spring for Apache Pulsar的第三个里程碑版本。Spring Framework 和 Spring Security 中也有 CVE 的解决方案。更多详细信息,请参阅此前 InfoQ 的新闻报道。
Quarkus/WildFly
Quarkus 3.26.4,即第四个维护版本发布,包括依赖项升级、文档改进和解决重要的问题,例如,当SmallRye OpenAPI和 JDK Flight Recorder 在同一项目中使用时出现的构建声明周期错误,以及日志仪表板中 Open Telemetry 日志输出的错误。有关此版本的更多详细信息,请参阅发布说明。
红帽公司还发布了A2A Java SDK 0.3.0.Beta1 版本,新增对 HTTP+JSON/REST 传输协议的支持。本博客文章演示了开发人员如何配置此新功能。配合此次最新发布,WildFly 团队创建了对应的A2A Java SDK for Jakarta Servers项目,该项目可以将 A2A Java SDK 集成到任何符合 Jakarta EE 规范的应用服务器中。
Hibernate
Hibernate Validator 9.1.0 的第二个alpha版本提供了缺陷修复、依赖项升级及性能优化,包括,新增RandomAccessPath
接口(作为 Jakarta Validation Path
接口的扩展),适用于路径以数组(或其他集合)形式表示且通过索引访问节点的场景;跨共享数据的初始化约束功能,它可以缓存并复用构建约束验证器所需的元素。关于该版本的更多详情,请参阅版本说明。
Apache TomEE
Apache TomEE 10.1.2 版本的发布包含了缺陷修复、依赖升级以及一项新改进,其中CdiScanner
类的实例现在会在缺少依赖时记录堆栈跟踪。关于此版本的更多细节可以参考发布说明。
LangChain4j
LangChain4j 1.5.0 的正式版本发布(以及第十一个测试版)带来了值得关注的变化,例如,MCP Registry的初始客户端实现;支持 Gemini 图像生成模型以接收生成的图像;通过 AI Agent 支持并发工具调用。关于此版本的更多细节可以在发布说明中找到。
JBang
JBang 0.131.0 版本发布,该版本提供了缺陷修复和值得关注的变化,比如,支持 JEP 512,紧凑源文件和实例主方法(Compact Source Files and Instance Main Methods),这是在 JDK 25 中提供的,它在生成的初始化 Java 文件中写出了缩短后的void main()
;移除了User-Agent
头信息中的“Java”引用,以解决HTTP 403状态码问题。关于此版本的更多细节可以在发布说明中找到。
Gradle
Gradle 9.1.0 版本发布,其特性包括,支持 JDK 25;对诊断和预览工具的改进,包括一个新的任务图以可视化依赖关系,而无需构建应用程序,以及增强的项目报告;增强的命令行界面,以提高终端的可用性和反馈。关于此版本的更多细节可以在发布说明中找到。
原文链接:
Java News Roundup: JDK 25, GraalVM for JDK 25, OpenJDK JEPs, LangChain4j, JBang, Gradle
评论