本周的 Java 新闻综述主要包括 OpenJDK 特性的新闻,将 JDK LTS 发布周期从三年加快到两年的建议,JDK 18,Liberica JDK 17,Spring Framework、Spring Data 和 Spring Tools 4 的更新,Payara 平台,Helidon,GraalVM 的 JDK 17 开发构建版本,Hibernate,Piranha,Apache Camel,JobRunr 4.0 和 2021 年 Jakarta EE 开发者调查。
OpenJDK
JEP 417,即Vector API(第三次孵化),已经从 JDK 18 的 Candidate 状态提升到了 Targeted 状态。除了性能上的改进,这个 JEP 还建议纳入针对前两轮孵化中反馈的改进:JEP 414,Vector API(第二轮孵化)和 JEP 338,Vector API(孵化)。JEP 338 作为孵化器模块集成在了JDK 16中,而 JEP 414 则在JDK 17中进行了交付。
在发布Java 17的同时,甲骨文公司 Java 平台组的首席架构师Mark Reinhold提议将目前每三年一次的长期支持(long-term support,LTS)发布节奏加快到每两年一次。Reinhold表示,这一提议不会对JDK项目中的主线功能发布产生影响,但会影响JDK更新项目的工作。InfoQ 将会跟进该消息,以提供更详细的新闻报道。
甲骨文公司的软件开发总监Jim Laskey和甲骨文公司的 Java 语言架构师Brian Goetz,重申了他们的建议,即在 Java 15 中引入的文本块之外提供字符串插值(string interpolation)功能。作为一项普遍要求的功能,在 Java 编程语言中提供字符串插值是有好处的。然而,Laskey 和 Goetz 对可能引发的注入攻击以及对本地化和格式化的限制表示担忧。
JDK 17
甲骨文发布了版本17的 Java 编程语言和虚拟机。作为 2018 年JDK 11发布以来的第一个长期支持(LTS)版本,在最终的特性集中有 14 个 JEP。关于这个最新版本,InfoQ 更详细的新闻报道可以在这里找到。
JDK 18
JDK 18早期访问版本的Build 15已经发布,其特性是对 Build 14 的更新,包括对各种问题的修复。更多细节可以在发布说明中找到。
对于JDK 18,鼓励开发者通过Java Bug数据库报告缺陷。
Liberica JDK 17
BellSoft最近发布了最新的 OpenJDK 下游发行版Liberica JDK 17,它提供了额外的功能和工具,如 LibericaFX(一个 JavaFX 的实例)以及用于原生镜像的 Liberica Native Image Kit。
Spring Framework
在经历了风平浪静的一周之后,Spring 迎来了忙碌的一周,因为他们的各个项目都有一些新版本发布。
Spring Framework5.3.10 和 5.2.17.RELEASE 小版本业已发布,分别包含45个缺陷修复和13个缺陷修复,另外还包括依赖升级并对两个版本的文档进行了改进。
Spring Data 2021.0.5 和 2020.0.13 版本业已发布,这两个版本都是建立在 Spring Framework 5.3.10 之上的,它们都包含了依赖升级和缺陷修复。这些版本可能会分别与即将发布的Spring Boot 2.5.5 和 2.4.11 一起使用。
在通往 Spring Data 2021.1.0 的道路上,第三个里程碑式的版本已经发布,其中包括众多依赖升级、缺陷修复以及对 MongoDB、Redis、Elasticsearch 和 Neo4J 支持的改善。Spring Data 2021.1.0-M3 可以通过即将发布的 Spring Boot 5.6.0-M3 进行使用。这也是计划 10 月中旬开始的 RC 阶段和 11 月的 GA 发布之前的最后一个里程碑版本。
可用于 Eclipse、Visual Studio Code 和 Theia 的Spring Tools 4 4.12.0 版本发布,其特性是更新了 Eclipse 2021-09,通过一个单独的插件支持 Java 17,并为 Apple Silicon 平台(ARM M1)提供早期访问构建版本。
Payara
Payara发布了他们 2021 年 9 月版的Payara平台。Payara 平台社区版 5.2021.7 和 Payara 平台企业版 5.31.0 各包含 10 个缺陷修复,一个组件升级,一个安全问题修复和一个新特性。安全修复是必要的,因为发现了一个路径遍历(Path Traversal)漏洞,在某些条件下,黑客可以从运行应用程序的服务器的文件系统中读取信息。更多细节可以在社区版和企业版的发布说明中找到。
Helidon
甲骨文发布了 Helidon 2.3.3,对 WebServer、WebClient、Fault Tolerance、Tracing 和 Metrics 组件进行了缺陷修复和性能改进。更多细节可以在发布说明中找到。
GraalVM
基于 JDK 17 的 GraalVM开发构建版本已经发布给了 Java 社区。鼓励开发者对这些构建版本进行试验并提供反馈。
Hibernate
Hibernate宣布“所有的系统都适用于 Java 17”,这意味着他们维护的分支已经定期用 OpenJDK 17 的早期版本进行了测试。更具体地说,这些分支包括Hibernate ORM 5.3+、Hibernate Search 5.11+和Hibernate Validator 6.2+。
Piranha
Piranha 21.9.0 发布。这个版本被称为“小步改进”版,它的特性包括:为 Piranha Micro 提供了新的groupId和artifactId,以反映它现在是一个多模块项目的一部分,并修复了一些 TCK 问题。进一步的细节可以在他们的文档和问题跟踪器中找到。
Apache Camel
Apache发布了 Camel 3.11.2,这是一个 LTS 版本,具有 28 个缺陷修复和改进,包括对 Spring Boot 2.5.4、Apache Commons Compress 1.21、XChange 5.0.11 和Camel Karaf的依赖升级。更多细节可以在发布说明中找到。
JobRunr
JobRunr是一个在 Java 中进行后台处理的工具,它发布了 4.0 版本,包含了一些新的功能,比如:检查作业是否可以被缓存的性能模式,用于创建新的后台作业的新接口JobRequest和JobRequestHandler,以及更新的 JobRunr Spring Boot Starter、新的 Micronaut 集成和新的 Quarkus 扩展。InfoQ 将以更详细的新闻报道进行跟进。
Jakarta EE 调查
2021 年 Jakarta EE 开发者调查报告已经发布给了 Java 社区。执行摘要中的一些要点包括:
Jakarta EE 社区正在寻求现有的 Java EE/Jakarta EE 和云计算供应商提供更快的支持。
超过 48%的受访者已经迁移到 Jakarta EE 或计划在未来 6 至 24 个月内迁移。
Spring/Spring Boot 仍然是构建云原生应用的首选框架(60%),其份额增加了 16 个百分点(从 2020 年的 44%上升到这个数字)。
MicroProfile 的采用率已经增加到 34%(与之形成对比的是,2020 年的采用率是 29%)。
从 2021 年 4 月 6 日至 5 月 31 日,共有 940 名开发者参与了这项调查。
原文链接:
Java News Roundup: JDK LTS Release Cadence, OpenJDK, Spring Updates, Helidon, Payara Platform
评论