Java 近期新闻:OpenJDK 更新、Spring Framework 6.0-M3、Helidon 3.0-M1、JobRunr 5.0-M1

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 社区和使用平台的个人经验:

  1. 社区

  2. 语言和平台

  3. 解决的问题比其他任何生态系统都多

  4. 稳定性

  5. 创新

  6. 工具

  7. 就业机会

Rahman 指出,开发人员“应该投资于一个拥有坚实基础、可靠、成熟、经过验证的产品组合”,因为开发人员需要在特定编程语言上投入大量的时间。

你可能感兴趣的:(java)