2021 年 10 月 25 日起始周 Java 新闻更新:OpenJDK、JDK 18、多个 Spring 项目更新、MicroStream 6.0、Quarkus 2.4.0、Hibernate Reactive 1.0、Open Liberty 21.0.0.11、Eclipse Vert.x 4.2.0、Red Hat 引入 Cryostat 2.0、GraalVM 原生构建工具 0.9.7.1、Liberica Native Image Kit 21.3 和 JDKMon 17.0.7。
OpenJDK
JEP 416(即通过方法句柄重新实现代码反射)经过最终评审之后,从 Proposed 进入了 Target 阶段。该 JEP 是关于基于 java.lang.invoke 中所定义的方法句柄重新实现 java.lang.reflect 中的类,如 Method、Constructor 和 Field。这些方法句柄现在可以作为一种反射机制,降低这两个包的维护和开发成本。
JEP 418(即网络地址解析 SPI)从 Candidate 进入 Proposed to Target 阶段。该 JEP 是关于为主机名和主机地址解析提供 SPI 接口,这样 java.net.InetAddress 就可以使用外部的解析器,而不只依赖于 OpenJDK 内置的解析器。JEP418 的评审将在 2021 年 11 月 4 号结束。
JDK 18
JDK 18 尝鲜构建版本Build 21可用,相比 Build 20,这次的主要更新包括对各种问题的修复。更多细节可参看版本公告。
JDK 18 目前的特性集合如下:
JEP 400:默认字符集为UTF-8;
JEP 408:Simple Web Server;
JEP 413:Java API文档中加入了代码片段;
JEP 416:通过方法句柄重新实现代码反射;
JEP 417:Vector API(第三个孵化器);
JEP 418:网路地址解析SPI(Proposed to Target 阶段)。
开发者可以通过Java Bug Database提交 bug。
Spring 框架
对于 Spring 来说,过去又是繁忙的一周。Spring 的多个项目都发布了单点版本。
根据报告,Spring Boot 2.5.6 和 2.4.12 修复了一些安全漏洞,分别与 Spring Framework(CVE-2021-22096)、Spring Data REST(CVE-2021-22047)和 Spring AMQP(CVE-2021-22097)有关。
Spring Cloud OpenFeign 2.2.10.RELEASE、3.0.5 和 3.1.0-M4 修复了第 4 个漏洞 CVE-2021-22044。
用于 Eclipse 的 Spring Tools 4.12.1 支持 JDK 17 的尝鲜版(为 Eclipse 2021-12 和 ARM M1 平台构建的版本)。更多细节可参看版本公告。
Spring Graph 1.0.0 的第三个里程碑版本已发布。新版本引入了 @BatchMapping 注解,以改进对批处理的支持。其他的新特性包括:改进对 Querydsl 的支持、TypeResolver 接口默认实现、借助 Spring 的 DataBinder 类来解析输入参数。更多细节可参看问题清单。
最近发布的 Spring 2021 年状态报告显示,Spring Cloud Kubernetes 的一些新特性被包含在 Spring Cloud 2021.0.0 的第三个里程碑版本中,包括对服务发现和配置管理的支持。Spring Cloud 2021.0.0-M3 引入了一个新的发现服务器,可以“使用 Kubernetes API 来获取 Kubernetes 服务和端点,为应用程序提供有关服务的信息”。
MicroStream
MicroStream 发布了6.0版本,新版本集成了 Helidon,提供了一个 Spring Boot 配置层、用于 JDK 17 集合对象(通过 List.of()和 Set.of()创建)的类型处理器、一个新的工具类 ObjectCopier,用于深度拷贝对象图。
Hibernate
Hibernate 发布了 Hibernate Reactive 1.0.0.Final,与 Quarkus 全面集成。Hibernate Reactive 是在 2020 年 12 月份首次推出的,使用了 Vert.x 非阻塞 SQL 客户端库,支持 PostgreSQL、MySQL、MariaDB、Db2、SQL Server 和 CockroachDB。
Open Liberty
IBM 发布 Open Liberty 21.0.0.11,相比 Beta 版,增加了一些新特性,包括:使用 FeatureUtility 命令行工具将用户特性安装到 Open Liberty 运行时;将 Kubernetes 秘钥作为 Open Liberty 的配置变量;为外围端口(传输层的一个通信端点)提供一个新的 HTTP 访问日志格式选项。
Quarkus
Red Hat 发布了 Quarkus 2.4.0.Final,特性包括:将依赖项 Hibernate Reactive 升级到 1.0.0.Final;Quarkus DevUI 支持Kafka流式拓扑;与多模块项目进行持续测试;新的 quarkus-awt 扩展,支持 Abstract Window Toolkit (AWT)和 Java2D。
用于 IntelliJ 的Quarkus Tools发布 1.8.0 版本,支持 CodeLens 功能(REST 端点),并做了 MicroProfile Fault Tolerance和Metrics规范方面的增强。
Eclipse Vert.x
Eclipse Vert.x 4.2.0发布,支持 JDK 17,增强了反应式 SQL 客户端、Web 客户端和认证客户端。Reactive Oracle Client 也被作为数据库客户端加入到 Vert.x 套件中。更多细节可以在版本公告中找到,官方文档包含了弃用内容和重大变更描述。
Cryostat
Red Hat 推出了一个新的容器原生 JVM 应用程序Cryostat 2.0,基于 JDK Flight Recorder(JFR)提供了一个安全的用于分析和监控容器的 API。Cryostat 可以获取、保存和分析容器化 JVM 的记录,以此来评估应用程序的整体健康状况。JFR 记录的内容可以上传到 JDK 任务控制中心或者 Grafana,用于进一步的分析。这篇博文对 Cryostat 进行了详细的介绍。
GraalVM 原生构建工具
Oracle 实验室发布了 GraalVM 原生构建工具的0.9.7.1版本,一个用于操作 GraalVM 原生镜像的插件。这是一个问题修复版本,解决了在使用 Maven 插件进行多项目构建时出现的测试执行问题。
Liberica 原生镜像工具
BellSoft 发布了 Liberica 原生镜像工具(NIK)21.3版本,GraalVM 的一个下游发行版。该版本基于 Liberica JDK 17 和 JDK 11 构建,新特性包括:对 JPMS 的初始支持;在分析期间配置反射和 JNI 配置文件,以便得到体积更小的原生镜像;一个新的自适应垃圾回收策略,以便获得更好的垃圾回收性能;该工具现在可以读取命令行参数。
JDKMon
JDKMon,一个用于监控和更新 JDK 的工具,向 Java 社区发布了最新版本。它由 Azul 的首席工程师 Gerrit Grunwald 创建,最新版本为 17.0.7,特性包括:支持华为毕昇JDK、腾讯Kona JDK和 IBM Semeru 运行时 Certified 版本。其依赖项 JavaFX 升级到 17.0.1,还更新了其他一些插件和 UI。
原文链接:
Java News Roundup: Hibernate Reactive 1.0, Spring Updates, OpenJDK, Red Hat Introduces Cryostat 2.0
评论 1 条评论