2022 年 3 月 14 日发布的 Java 近期综述,包括来自 OpenJDK、JDK 19、Spring Framework 6.0-M3 和 5.3.17、Spring Tools 4.14.0、Quarkus 2.7.5、Helidon 3.0-M1、2022 年 3 月的 Payara 平台、Open Liberty 22.0.0.3 和 22.0.0.4-beta、Hibernate ORM 5.6.7、Hibernate Search 6.1.3 和 6.0.9、Jobrener 5.0-RC1、Apache Camel 3.11.6、Piranha 22.3.0.0 的新特性,JReleaser 的更新,以及 Java 意义重大的原因。
OpenJDK
在为期一周的审查结束之后,JEP 422,即Linux/RISC-V移植,已经从 JDK 19 的 Proposed to Target 状态提升到了 Targeted 状态。该 JEP 提议将 JDK 移植到 Linux/RISC-V,这是一种免费的开源 RISC 指令集架构。它将会支持模板解释器、C1 和 C2 JIT 编译器,以及所有当前主流的 GC,包括 ZGC 和 Shenandoah。该 JEP 的重点是将该移植集成到 JDK 主线代码库中。
JEP 草案 8283227,即JDK源代码结构,是一个信息性的 JEP,描述了 JDK 源代码和 JDK 代码库中相关文件的整体布局和结构。该 JEP 旨在帮助开发人员适应 JEP 201(模块化源代码)所描述的源代码结构,JEP 201 在 JDK 9 中发布。
JEP 草案 8283291,即扩展操作码(Extended Opcodes),是一个基础设施 JEP,提议可以超越任意的单字节流限制释放更多的操作码,这将为未来项目中的新指令和 JVM 的增强留出更多空间。
JDK 18
JDK 18仍处于候选发布阶段,预计将于 2022 年 3 月 22 日发布 GA 版本。发布说明中包含了一些文档链接,比如完整的API规范和一个带注释的API规范,这些规范比较了 JDK 17(第35版)和 JDK 18(第37版)之间的差异。InfoQ 将会继续跟进相关消息并发布更详细的新闻报道。
JDK 19
JDK19早期访问构建版本的第14版已于上周发布,其中包括对第 13 版中各种问题的修复及更新。更多详细信息请查看发布说明。
对于 JDK 18 和JDK 19,均鼓励开发人员通过Java缺陷数据库来报告缺陷。
Spring 框架
Spring Framework 6.0.0-M3 和 5.3.17 已于上周发布。
5.3.17 版本提供了一些新特性,比如:在客户端 REST 测试中支持自定义的 HTTP 状态;修复了 AsyncRestTemplate类中日志记录过于冗长的问题;并在创建大型数组后改进了Spring表达式语言(Spring Expression Language,SpEL)的诊断功能。更多有关 5.3.17 版本的详细信息,请查阅发布说明。
Spring 6.0 的第三个里程碑版本的特性是对Spring Native的 Ahead-of-Time 引擎进行了初步迁移,这将在整个 Spring 生态系统中提供全面的原生支持。更多有关 6.0.0-M3 版本的详细信息,请查阅发布说明。
Spring Tools 4.14.0 已发布,其中包含对 Eclipse IDE 2022-03 的依赖项升级,并修复了以下问题:JDK 17 被错误地识别为 JDK 8;Windows 上 Outline View 再次崩溃;VSCode 扩展偶尔会向“问题”区域发送诊断条目;以及 VSCode Spring 引导工具查找 JVM 时报错。更多详细请查看变更日志。
Quarkus
Quarkus 2.7.5.Final 已发布,它是第五个维护版本,其中包括一些文档改进和缺陷修复,比如:curl URL 和注释格式;SmallRye GraphQL 客户端中的依赖项;配置资源不存在时的 NullPointerException ;并在 JAX-RS 方法的泛型返回类型中支持通配符。更多有关该版本的详细信息,请查看变更日志。
Helidon
甲骨文发布了 Helidon 3.0 的第一个里程碑版本,其特性包括支持 MicroProfile 5.0,即将 javax 迁移到 Jakarta EE 9 的 jakarta 命名空间;以及最低要求需 JDK 17+。因此,将不再支持 JDK 11。
Payara
Payara已经发布了其Payara Platform的 2022 年 3 月版,该版本为企业版。Payara Platform Enterprise 5.37.0 版提供了 8 个缺陷修复、1 个组件升级和 2 个改进:一个仅适用于远程命令的本地 asadmin 命令自动完成程序;以及 WebConsole 中更新的安装目录工具提示。更多有关该版本的详细信息,请查阅发布说明。
Open Liberty
IBM 已将 Open Liberty 22.0.0.3 的beta版本提升为 deliver 版本,以修复一些值得注意的缺陷,比如: @RolesAllowed 注解拒绝已认证的用户;Jakarta JSON Processing 2.0和Jakarta JSON Binding 2.0容器(构件分别为 jsonpContainer-2.0 和 jsonbContainer-2.0 )错误地提供了默认的提供者。该版本还允许在事务恢复日志中执行 SQL 操作。
Open Liberty 22.0.0.4-beta 版也已发布,其特性支持 MicroProfile GraphQL 2.0、JDK 18 和分布式安全缓存,这样多个 Liberty 服务器可以通过 JCache 共享缓存。
Hibernate
Hibernate ORM 5.6.7.Final 在短命的 5.6.6.Final 之后也发布。5.6.6.Final 会显示一些令人困惑的弃用警告。
Hibernate Search的 6.1.3.Final 和 6.0.9.Final 版本也已发布,其特性包含对 Hibernate ORM 5.6.7.Final 的升级,以及用于 Hibernate ORM 6.0.0.CR2 的-orm6 构件 。
JobRunr
JobRunr是一个在 Java 中执行后台处理的实用工具,它上周发布了5.0.0-RC1版本,添加了对以下特性的支持:按指定的时间间隔调度重复作业;SLF4J 的映射诊断上下文;Spring Native;以及 JobRunr Fluent API中的 MicroMeter。更多详细信息请查阅发布说明。
Apache Camel
Apache 软件基金会在 Camel 3.11 版本的发布序列中提供了一个新的 LTS 小版本发布。3.11.6 版本包含了 23 个缺陷修复和改进,并对 Spring Boot 的 2.6.4 和 2.5.10 版本、Camel Spring Boot中的 Spring Boot 2.5.9 和 log4j 2.17.1 进行了依赖项升级,更多详细信息请查看发布说明。
Piranha
Piranha 22.3.0 已发布。这个版本被称为“我们春季的大扫除”,包括:项目内部清理;添加标记文件,以指示服务器变体的启动/停止状态;列出已部署的服务器变体应用程序;添加可由 IDE 引用的调试模块,以获取所有依赖项和源代码。更多详细信息请查看他们的文档和问题追踪。
JReleaser
在通往 1.0.0 版的道路上,JReleaser更新了一个早期访问版本,其特性包括:允许文件和目录属性的字符串输入;并在发现不可解析的标签时修复不正确的选择提交。
Java 仍然意义重大的七个原因
最近,在 Foojay.io 上的一篇博客文章中,Contrast Security 的高级软件工程师Bazlur Rahman,讨论了 Java 在 26 年后仍然意义重大的 7 个原因,以下列表来自他与 Java 开发人员的多次讨论,并结合了他在 Java 社区和使用平台的个人经验:
- 社区
- 语言和平台
- 解决的问题比其他任何生态系统都多
- 稳定性
- 创新
- 工具
- 就业机会
Rahman 指出,开发人员“应该投资于一个拥有坚实基础、可靠、成熟、经过验证的产品组合”,因为开发人员需要在特定编程语言上投入大量的时间。
作者简介:
Michael Redlich 是位于新泽西州克林顿的埃克森美孚工程研究部门高级研究员(他在本文中的观点和意见仅代表他自己,和他的雇主无关)。他是一名 IT 专业人士,拥有罗格斯大学计算机科学学士学位。自 2001 年以来,他一直是花园州 Java 用户组(原 ACGNJ Java 用户组)的主持人,同时也是一位经验丰富的会议发言人,在加入 InfoQ 之前与 Barry Burd 合作撰写了多篇文章。自 1989 年 12 月以来,作为埃克森公司和埃克森美孚公司的长期雇员,Mike 在公司中承担了许多任务,包括汽车测试、从事利用红外光谱学和化学计量学的分析科学研究、开发科学方面的 IT 应用,他目前的任务是从事利用流变学和聚合物物理学的高分子科学研究。在他的职业生涯中,Mike 发展了自己的领导能力,他曾担任新泽西州业余计算机小组(一个非营利性的 501(c)(3)计算机教育组织)的主席,目前则担任花园州 Java 用户组(也是一个非营利性的 501(c)(3)组织)的主管。Mike 是国际演讲协会的成员,最近取得了高级沟通者银牌证书。他酷爱跑步和骑行,完成了许多马拉松比赛。Mike 与他的妻子 Rowena 居住在新泽西州弗莱明顿,他们在那里共度美好时光,骑行或跑步,旅行的话,则主要是到洛杉矶的新奥尔良和里约热内卢的新港。