聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

Java 近期新闻:JDK 21 序列集合、JDK 20 向量 API、Gen ZGC、Hilla 2.0

2023-03-21 10:30 浏览: 2056415 次 我要评论(0 条) 字号:

 作者 | Michael Redlich
译者 | 平川
策划 | 丁晓昀
OpenJDK

在过去的一周,经过评审后,JDK 20 提案 JEP 438(Vector API 第 5 轮孵化)从 Proposed to Target 状态 提升 到 Targeted 状态。在 Panama 项目 的支持下,该 JEP 融合了针对前 4 轮孵化反馈的改进:JEP 426(Vector API 第 4 轮孵化)在 JDK 19 中交付;JEP 417(Vector API 第 3 轮孵化)在 JDK 18 中交付;JEP 414(Vector API 第 2 轮孵化)在 JDK 17 中交付;JEP 338(Vector API 首轮孵化)在 JDK 16 中作为 孵化器模块 交付。JEP 438 提议增强 Vector API,根据 JEP 424(外部函数和内存 API 预览)的定义,从MemorySegment中加载和向MemorySegment存储向量。

JDK 21 提案 JEP 431(序列集合)已经从 Candidate 状态提升到 Proposed to Target 状态。该 JEP 提议引入“一个新的接口族,用于表示集合的概念,这些集合的元素按照预定义的序列或顺序排列,它们是作为集合的结构属性。”这一提案的动机是由于集合框架中缺乏预定义的顺序和统一的操作集。评审预计将于 2023 年 3 月 16 日结束。要了解更多关于 JEP 431 的更多细节,可以阅读 InfoQ 的这篇新闻报道。

在过去的一周,JEP 439(Generational ZGC)从 Draft 8272979 状态提升到 Candidate 状态。这个 JEP 提议“通过扩展 Z 垃圾收集器(ZGC)来为年轻对象和老对象维护单独的代,以此提高应用程序的性能。这将使 ZGC 能够更频繁地收集年轻对象,它们往往会在年轻时死亡。”

Oracle 首席产品经理 Dalibor Topic 曾提议解散并归档 JDK 6 项目,原因是:过去两年没有明确的项目负责人或邮件列表流量;过去四年的访问量为 0。InfoQ 后续将带来更详细的新闻报道。

JDK 20

JDK 20 仍处于发布候选阶段,GA 版本预计将于 2023 年 3 月 21 日发布。Build 36 仍然是 JDK 20早期访问构建 的当前构建。要了解关于这个版本的更多细节,请查看发布说明。

JDK 21

JDK 21 的早期访问构建Build 13 也于上周发布,其中包括来自 Build 12 的更新,该更新修复了各 问题。要了解关于这个版本的更多细节,请查看发布说明。

对于 JDK 20 和 JDK 21,我们鼓励开发人员通过 Java Bug 数据库报告 Bug。

Spring Framework

Spring Cloud Data Flow 2.10.2发布,修复了 Bug,库升级到 Spring Boot 2.7.9 和 Spring Cloud 2021.0.6。它还升级了子项目依赖项,如:Spring Cloud Dataflow Build 2.10.2、Spring Cloud Dataflow Common 2.10.2、Spring Cloud Dataflow UI 3.3.2、Spring Cloud Deployer K8S 2.8.2。要了解关于这个版本的更多细节,请查看发布说明。

Spring Modulith 0.5发布,库升级到 Spring Boot 3.0.4 和 jMolecules 2022.2.4。它还带来了如下改进:重命名了触发 JDBC 数据库初始化的属性,从spring.modulith.events.schema-initialization.enabled 改为spring.modulith.events.jdbc-schema-initialization.enabled 。要了解关于这个版本的更多细节,请查看更新日志。

Quarkus

Quarkus 3.0.0 的第 5 个(也是最后一个)Alpha 版本 发布,支持:Hibernate ORM 6.0 和StatelessSession接口;新的 Dev UI;Gradle 8.0;在 REST Client Reactive 中通过@ClientRedirectHandler注解自定义重定向处理程序;通过@Scheduled注解设置 cron 时间表的时区。要了解关于这个版本的更多细节,请查看更新日志。

Quarkus 2.16.14.Final 是第 4 个维护版本,带来了一些显著的改进,例如:传播 Quarkus 相关的故障安全系统属性;当服务器响应是 204 No Content 时,从 REST 客户端返回一个空的InputStream;改进了DevServicesKubernetesProcessor类中的日志记录。要了解关于这个版本的更多细节,请查看更新日志。

Open Liberty

IBM 发布了 Open Liberty 23.0.0.2,新特性包括:用 Admin Center 测试数据库连接;server stop 命令新增命令行选项--timeout ;修复了 CVE-2022-45787 漏洞(在 Apache James Mime4J 中,TempFileStorageProvider类使用的临时文件被赋予了不恰当的懒惰权限,可能会导致信息泄露给其他本地用户)。

Micronaut

Micronaut 基金会发布了 Micronaut 3.8.7,带来了 Bug 修复、文档改进和模块更新,涉及 Micronaut Serialization、Micronaut CRaC、Micronaut Kafka、Micronaut AOT 和 Micronaut GCP。SnakeYAML 2.0 也进行了更新,解决了 CVE-2022-1471 漏洞(使用 SnakeYAML Constructor()类进行类型反序列化为攻击者恶意远程执行代码提供了机会)。要了解关于这个版本的更多细节,请查看发布说明。

Helidon

Oracle 发布了 Helidon 2.6.0,带来了一些显著的变化,其中包括:仅当enable标志设置为true时才注册OciMetricsSupport服务;依赖项升级到 SnakeYAML 2.0;通过移除未部署的工件来清理 Helidon BOM;从文档中删除了将指标从服务器传播到客户端的说明。

Apache 软件基金会

Apache Tomcat 11.0.0 的第 4 个里程碑版本发布,新特性包括:恢复原先基于系统属性加载自定义 URL 协议处理程序的方法;提供了一个不依赖于java.beans 包的 JavaBeans 支持实现;在 NIO2 中异步操作后恢复内联状态,解决实现抛出的意外异常。要了解关于这个版本的更多细节,请查看 更新日志。

Apache Camel 4.0.0 的第 2 个里程碑版本提供了 Bug 修复、依赖项升级和新特性,其中包括:在camel-minio 组件中用于连接到云服务的预签名 URL;为camel-health组件中具有连接验证扩展的组件添加健康状况检查;camel-jbang组件的目录输现在采用 JSON 格式。要了解关于这个版本的更多细节,请查看发布说明。

JobRunr

JobRunr 6.1.1 发布,修复了两个 Bug:使用JobLambda接口执行重复作业时的错误;在使用 Yasson 时,由于作业 JSON 缺少属性而导致的NullPointerException

Jarviz

Andres Almiray 面向 Java 社区发布了 Jarviz(一个新的 JAR 文件分析工具) 0.3.0 版本。这个新版本修复了一些 Bug,并提供了一些新特性,包括:新命令extract,用于按名称或模式提取 JAR 条目;新命令validate,用于验证包名;新的命令行选项--output-format ,用于指定所需的输出。

Hilla

Hilla 出自 Vaadin 开发者之手,其 2.0 版本已经发布。这是一个整合了 Spring Boot Java 后端和响应式 TypeScript 前端的开源框架。这个新版本支持:JDK 17;Jakarta EE 10;Spring Boot 3.0;Reactive 端点;GraalVM 原生镜像编译;以及一个 SSO 工具包,用于快速为 Hilla 应用程序添加单点登录功能。要了解关于这个版本的更多细节,请查看发布说明和 InfoQ 的新闻报道。

原文链接:

https://www.infoq.com/news/2023/03/java-news-roundup-mar06-2023/

相关阅读:

Java 近期新闻:NetBeans 17、Spring 及 Tomcat 多项更新、JDk 20 版本 GraalVM

虚拟线程:大规模 Java 应用的新基石 (https://www.infoq.cn/article/YaBqqD7fd6kX97GbhkGm)



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复