近期 Java 动态汇编主要关注一些项目的新特性,包括 OpenJDK、JDK 18、Loom 项目 Build 18-loom+7-288、多个 Spring 项目的新版本、Quarkus 2.5.1.Final、WildFly 26 Beta 1、Open Liberty 21.0.0.12、Hibernate ORM 6.0.0-Beta2、Eclipse Mojarra 2.3.17、GraalVM Native Build Tools 0.9.8、Groovy 4.0.0-RC1、Eclipse Collections 11.0.0、IntelliJ IDEA 2021.3 和 JReleaser 0.9.0。
OpenJDK
JEP 421,即废弃终结化以将其移除(Deprecate Finalization for Removal),已经从 JDK 18 的 Candidate 状态提升到了 Proposed to Target 状态。这个 JEP 要废弃自 JDK 1.0 就引入的终结化(finalization)机制,以便在未来的版本中将其移除。尽管终结化机制在设计之初是为了避免资源泄露的,但是它存在几个严重的缺陷,比如不可预测的延迟、不受控制的行为和线程,而且总是会默认启用。对 JDK 421 的审查会在 2021 年 12 月 7 日结束。
JDK 18
JDK 18早期访问版本的Build 26已经发布,它是对 Build 25 的更新,包括对各种问题的修复。更多细节可以在发布说明里面找到。
JDK 18目前的特性集如下所示:
JEP 400:默认采用UTF-8(UTF-8 by Default)
JEP 408:简单Web服务器(Simple Web Server)
JEP 413:Java API文档中的代码片段(Code Snippets in Java API Documentation)
JEP 416:使用方法句柄重新实现核心反射(Reimplement Core Reflection with Method Handles)
JEP 417:Vector API(第三轮孵化)
JEP 421:废弃终结化以将其移除(Deprecate Finalization for Removal) (Proposed to Target)
鼓励开发人员通过Java Bug数据库提交缺陷。
Loom 项目
Loom 项目 18-loom+7-288 的早期访问构建版已经向 Java 社区发布,它基于 JDK 18 早期访问构建版本的Build 25。
Spring 框架
在经历了三个里程碑版本和一个候选版本之后,Spring Cloud 2021.0.0(代号 Jubilee)业已发布,其特性包括升级和修正了多个 Spring Cloud 子项目,如Spring Cloud Sleuth、Spring Cloud Gateway和Spring Cloud Kubernetes。Spring Cloud 21.0.0 与 Spring Boot 2.6.1 兼容。
在Spring Boot 2.6发布仅一周之后,维护版本 2.6.1 就发布了,其中包括了 11 个缺陷修正和文档的改善。
VMware 的一份安全报告显示,Spring AMQP(Spring for RabbitMQ)2.4.0、2.3.12 和 2.2.20 版本已经解决了CVE-2021-22095的问题,即Message中的toString()
方法可能会生成一个大到足以抛出OutOfMemoryError异常的字符串对象。Spring Boot 2.6.0 和 2.5.7 版本分别包括 Spring AMPQ 2.4.0 和 2.3.12 版本。
Spring Authorization Server 0.2.1发布了新的功能,例如,为用户信息和客户端配置实现了新的端点;重新定义了 sample 的结构;允许更新类 OAuth2AuthorizationConsent的实例;允许对 OAuth2AuthenticationContext 类创建子类。更多细节可以在发布说明中找到。
Spring Cloud Function 3.2发布了新的功能,例如,支持 gRPC;增强了对CloudEvents规范的支持;为FunctionCatalog接口提供了新的 actuator 端点;改进了对AWS自定义运行时的支持;以及支持 AWS 中的Spring Native。
Quarkus
在Quarkus 2.5.0发布一周之后,一个维护版本Quarkus 2.5.1.Final 发布,该版本提供了一些缺陷修正和依赖升级。更多细节可以在更新日志中查阅。
Red Hat 也发布了Quarkus Tools for IntelliJ 1.9.0,在 Quarkus 的新项目向导中添加了对 Quarkus streams 的支持,并修复了与 IntelliJ 2021.3 的兼容性问题。关于如何使用平台和流发现扩展的细节,可以在这篇博客文章中找到。
WildFly
红帽发布了 WildFly 26 Beta1,其新功能包括:针对 Reactive Messaging 2.0 更新其 MicroProfile 反应式消息传递快速入门;用getParameterCount()
取代对getParameterTypes().length
的多次调用;放弃对 WildFly 旧版本中已废弃功能的支持,并确保断言参数应以正确顺序传递。
Open Liberty
IBM 已经将 Open Liberty 21.0.0.12 从其测试版中推广了出来,其特性是支持Jakarta EE 9.1、可配置的服务器响应头,以及缺陷修正。
IBM 还发布了 Open Liberty 22.0.0.1-beta,支持即将发布的 MicroProfile 5.0、MicroProfile Rest Client 3.0以及对 JPA 的增强,例如,开发人员现在可以在server.xml
文件中声明默认的 JPA 持久性属性。
Hibernate
在通往 Hibernate ORM 6.0.0 的道路上,第二个beta版已经发布,其特性包括,JDK 11 作为最低版本;对自定义复合类型的原始支持;以及对非 Hibernate 核心模块hibernate-envers、hibernate-jcache和hibernate-spatial的更新。更多资源可以在用户指南、迁移指南和 Hibernate 6.0发布页中找到。
Eclipse Mojarra
Mojarra 2.3.17 是一个维护版本,它支持PrimeFaces 11.0。这个版本的Mojarra是 Jakarta EE 8 下Jakarta Server Faces 2.3规范的兼容实现。对于 Jakarta EE 9 下的Jakarta Server Faces 3.0,Mojarra 3.0.2是兼容实现。
GraalVM Native Build Tools
在通往 1.0 版本的道路上,Oracle Labs发布了0.9.8版本的Native Build Tools,这是一个 GraalVM 项目,包括与 GraalVM Native Image 互操作的插件。这个最新版本对 Maven 和 Gradle 插件进行了大量的缺陷修正和改进,并与 JUnit 实现了更好的互操作性。
Groovy
Object Computing, Inc.的首席软件工程师Paul King日前宣布,Groovy 4.0.0-RC1现在已经发布。新功能包括 switch 表达式、records 和Groovy-Integrated Query (GINQ)(这是一个用类似 SQL 语法进行查询的 DSL)。
Eclipse Collections
BNY Mellon 的高级专业开发人员、Eclipse Collections 项目的提交者和匹兹堡 JUG 的负责人Sirisha Pratha日前宣布,一个全面的 Java 集合库Eclipse Collections 11.0.0业已发布。这个版本的重点是 Java 社区要求的新 API 和功能。更多细节可以参阅发布说明。
IntelliJ IDEA
JetBrains发布了IntelliJ IDEA 2021.3,其中包括一系列新功能,包括对远程后端beta 版的支持,通过这个特性开发者可以连接到远程机器,在上面部署 IDE 后端,并像在本地机器上一样在项目上进行工作。InfoQ 将以更详细的新闻报道进行跟进。
JUnit
JUnit 5.8.2发布,它对@CsvSource和@CsvFileSource注解进行了更新,支持可视为 CSV 文件的文本块,显示名称中的 CSV 头以及对自定义引用字符的支持。更多细节可以在发布说明中找到。
JReleaser
JReleaser 0.9.0 已经发布,改进了Jlink汇编器,能够使用Foojay Discovery API配置 JDK,更新了Gradle插件,并将MacPorts添加到了 JReleaser 打包器列表中。更多细节可以在更新日志中找到。
2021 年度的 JakartaOne Livestream 会议
第三届JakartaOne Livestream虚拟会议于 2021 年 12 月 7 日开幕,最初 12 场一小时的议题将于美国东部时间上午 6:00 开始。这些议题主要集中在与 Jakarta EE 和 MicroProfile 相关的话题上,包括由众多 Java 名人发表的主题演讲和 15 分钟的分享。更多的细节可以在InfoQ的新闻报道中找到。
原文链接:
Java News Roundup: IntelliJ IDEA, JEP 421, Groovy, Open Liberty, Hibernate ORM, Eclipse Collections
评论