本期的 Java 新闻汇总主要包括如下新闻:JEP 489,向量 API(Vector API,第九轮孵化)和 JEP 484,类文件 API(Class-File API)均计划在 JDK 24 实现;Apache 项目的发布,包括 Tomcat 11.0.0 和 Cassandra 5.0.0;EclipseStore 2.0.0 发布;Payara Platform 的 2024 年 10 月版发布以及 Ktor 3.0.0 发布。
OpenJDK
在审查结束后,JEP 489,向量API(Vector API,第九轮孵化)已经从 JDK 24 的 Proposed to Target 状态提升为 Targeted 状态。这个 JEP 根据前八轮孵化的反馈进行了增强,也就是 JDK 23 交付的 JEP 469,向量API(第八轮孵化)、JDK 22 交付的 JEP 460,向量API(第七轮孵化)、JDK 21 交付的 JEP 448, 向量API(第六轮孵化)、JDK 20 交付的 JEP 438, 向量API(第五轮孵化)、JDK 19 交付的 JEP 426, 向量API(第四轮孵化)、JDK 18 交付的 JEP 417, 向量API(第三轮孵化)、JDK 17 交付的 JEP 414, 向量API(第二轮孵化)和 JDK 16 交付的 JEP 338, 向量API(孵化)。原本的计划是继续使用原有的孵化器状态,但后来决定进行编号的重新计算。向量 API 将会继续孵化,直到Valhalla项目的必要特性达到预览可用。到时候,向量 API 团队将调整向量 API 及其实现,以使用这些特性,并将向量 API 从孵化状态提升为预览状态。
在审查结束后,JEP 484,类文件API(Class-File API)已经从 JDK 24 的 Proposed to Target 状态提升为 Targeted 状态。该 JEP 建议在经过两轮预览后,即 JDK 23 交付的 JEP 466, 类文件API(第二轮预览)和 JDK 22 交付的 JEP 457, 类文件API(预览),在 JDK 24 中最终确定本特性。该特性提供了一个 API 来解析、生成和转换 Java 类文件。它最初作为 JDK 中ASM的替代品,ASM 是一个 Java 字节码操作和分析框架,并计划将其作为公开 API 对外开放。甲骨文的 Java 语言架构师Brian Goetz将 ASM 描述为“带有大量遗留包袱的旧代码库”,并提供了关于该草案如何发展并最终取代 ASM 的背景信息。
JEP 490,ZGC:移除非分代模式(ZGC: Remove the Non-Generational Mode),已经从 JEP Draft 8335850 状态提升到了 Candidate 状态。该 JEP 建议移除 Z 垃圾收集器(ZGC)的非分代模式。根据 JDK 23 交付的 JEP 474, ZGC:默认的分代模式(ZGC: Generational Mode by Default),分代模式现在是默认选项。通过移除 ZGC 的非分代模式,能够避免维护两种模式,并缩短了分代模式新特性的开发时间。
JDK 24
JDK 24 的早期访问构建版本的Build 19发布,该版本是对 Build 18 的更新,其中包括对各种问题的修复。关于这个版本的更多细节可以在发布说明中找到。
距离Rampdown第一阶段还有不到两个月的时间,JDK 24 的目标包含了四个 JEP:
对于JDK 24,鼓励开发人员通过Java缺陷数据库报告缺陷。
Loom 项目
Loom 项早期访问构建版本的 Build 24-loom+8-78 已经提供给 Java 社区,该构建版本基于 JDK 24 早期访问构建版本的Build 18。该版本增强了 Java 监视器(同步方法)的实现,以增强与虚拟线程的互操作性。
Jakarta EE
在每周的Hashtag Jakarta EE博客中,Eclipse 基金会的 Jakarta EE 开发人员倡导者Ivar Grimstad介绍了即将发布的Jakarta EE 11的最新情况:
Jakarta EE TCK 的重构工作仍在继续。我们似乎很快就能发布 Jakarta EE 11 Core Profile,并将Open Liberty作为正式批准的实现。关于 Platform 和 Web Profile,还需要再等一段时间。现在看来,它们仍有可能在 2024 年 12 月 3 日的JakartaOne Livestream上准时发布。
通往 Jakarta EE 11 的过程中包括了四个里程碑版本,在 2024 年第 4 季度发布正式版之前,还可能根据需要发布候选版本。
Spring Framework
Spring Cloud 2024.0.0 的第二个里程碑版本代号为 Moorgate,主要包括缺陷修复和对子项目的重要更新,比如,Spring Cloud Kubernetes 3.2.0-M2、Spring Cloud Function 4.2.0-M2、Spring Cloud OpenFeign 4.2.0-M2、Spring Cloud Stream 4.2.0-M2、Spring Cloud Gateway 4.2.0-M2。该版本与 Spring Boot 3.4.0-M3 兼容。关于该版本的更多详细信息,请参阅发布说明。
Spring AI 1.0.0 的第三个里程碑版本提供了新特性,例如,改进了Spring Advisors API、新的ToolContext
类取代了用于函数回调的Map<String, Object>
、支持更多可观测性模型,包括,Azure OpenAI、Google Vertex AI和MiniMax AI。
Spring Batch 5.2.0 的第二个里程碑式版本提供了以下新特性:支持 MongoDB 作为JobRepository
接口的实现、新的CompositeItemReader
类补充了现有的CompositeItemWriter
和CompositeItemProcessor
类。关于此版本的更多详细信息,请参阅发布说明。
继 Spring Framework 7.0 和 Spring Boot 4.0 最近公布了 2025 年 11 月份的发布计划之后,Spring Cloud Data Flow(SCDF)团队也制定了自己的计划,即在 2025 年 11 月发布 3.0 版本。其目标是使 SCDF 项目(如,SCDF 服务器组件、Composed Task Runner 和 SCDF UI)与 Spring Framework 7.0 和 Spring Boot 4.0 保持同步。
Payara
Payara发布了Payara Platform的 2024 年 10 月版,包括社区版 6.2024.10、企业版 6.19.0 和企业版 5.68.0。除了缺陷修复和依赖性升级外,这三个版本主要解决了CVE-2024-8215漏洞,该跨站脚本漏洞允许攻击者通过 Payara Management REST接口远程执行代码。这些版本还集成了WriteLockManager
类的EclipseLink中断增强功能,以提高数据库操作的性能。有关这些版本的更多详细信息,请参见社区版6.2024.10、企业版6.19.0以及企业版5.68.0的发布说明。
Open Liberty
IBM 发布了 Open Liberty 24.0.0.10 版本,其特性包括,支持 JDK 23;新的versionless特性,支持MicroProfile Context Propagation、MicroProfile GraphQL、MicroProfile Reactive Messaging和MicroProfile Reactive Streams Operators规范。
Micronaut
Micronaut 基金会发布了Micronaut Framework 4.6.3 版本,特性包括Micronaut Core 4.6.6和对如下模块的更新:Micronaut Security、Micronaut Test Resources、Micronaut MQTT、Micronaut Data、Micronaut gRPC、Micronaut Oracle Cloud和Micronaut Security。有关此版本的更多详情,请参阅发布说明。
EclipseStore
EclipseStore 2.0.0发布,提供了缺陷修复和新特性,例如,新的BinaryHandlerSetFromMap
类,用于 Java Collections
类中定义的内部私有静态类 SetFromMap
,以改进数据处理;Storer
接口的增强功能包括新的UsageMarkable
接口,以防止Lazy
接口的引用在有未存储的更改时被清除。有关此版本的更多详情,请参阅发布说明。
Apache 软件基金会
在发布了 26 个里程碑版本之后,Apache Tomcat 11.0.0 正式发布,其特性包括,支持虚拟线程;增加了对 JEP 454,外部方法与内存API(Foreign Function & Memory API)的兼容性方法,支持OpenSSL、LibreSSL和BoringSSL,它们均需要 JDK 22 作为最低版本;与Let’s Encrypt的轻松集成,以及自动重新加载更新后的 TLS 密钥和证书,改进了 TLS 证书的更新流程,实现零停机时间。2024 年 10 月 7 日是 Sun Microsystems 向 Apache 软件基金会捐赠 Tomcat 后首次提交 Apache Tomcat 源代码库的 25 周年纪念日。关于该版本的更多详细信息,请参阅发布说明。
Apache Tomcat 9.0.96发布,其中包括缺陷修复和一些值得关注的变更,例如,通过对WebdavServlet
类的小范围重构改进了对WebDAV的支持;在垃圾回收期间销毁SSLContext
接口实例时提高了Tomcat Native Library的稳定性。有关此版本的更多详情,请参阅发布说明。
OpenXava
OpenXava 7.4.1发布,提供了缺陷修复、文档改进、依赖性升级和新功能,例如,新的 Maven archetypes openxava-invoicing-archetype
和openxava-invoicing-archetype-spanish
,分别对应英语和西班牙语版本;使用flowLayout=true
属性的简单视图布局,现在最多可应用 15 个简单属性,而不再是 8 个。关于此版本的更多详细信息,请参阅发布说明。
JHipster
JHipster Lite 1.20.0 版本发布,包含了缺陷修复、文档改进、依赖性升级和新功能/改进,例如,使用Tikui(一个用于构建静态组件的库)改进了生成的样式;使用Vue.js支持 JWT 和 OAuth2 身份验证。有关此版本的更多详细信息,请参阅发布说明。
JetBrains Ktor
JetBrains Ktor 3.0.0发布,它是用来创建微服务和 Web 应用程序的异步框架,该版本提供了缺陷修复和改进,例如,迁移到kotlinx-io库,以标准化 Kotlin 库中 I/O 功能并提高性能;支持服务器端事件;在 Ktor Client 中支持 WebAssembly。关于该版本的更多详细信息,请参见发布说明。InfoQ 将通过更详细的新闻报道进行跟踪报道。
原文链接:
Java News Roundup: JDK 24, Tomcat 11.0, Cassandra 5.0, EclipseStore 2.0, Payara Platform, Ktor 3.0
评论