百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

Java近期新闻:JDK 24 RC1、JDK Mission Control、Spring、Hibernate、Vert.x

wptr33 2025-05-11 18:51 9 浏览

作者 | Michael Redlich
译者 | 明知山
策划 | 丁晓昀
OpenJDK

JDK Mission Control 9.1.0 发布,包含了错误修复和改进,例如:在 JFR Writer API 中使用自定义 JFR 事件类型(即扩展 Java Event 类)并注册这些类型的能力;在转换器中使用原始类型的能力。更多关于此版本的详细信息可以在问题列表中找到。

JDK 24

JDK 24 早期访问构建的当前版本仍然是 Build 36。更多详细信息可以在发布说明中找到。

根据 JDK 24 的发布计划,Oracle Java 平台团队首席架构师 Mark Reinhold 正式宣布 JDK 24 进入第一个发布候选阶段,因为 Build 36 中没有未解决的 P1 级错误。预计的普遍可用性(GA)发布时间为 2025 年 3 月 18 日,将包含 24 个最终确定的功能。更多关于这些功能的详细信息以及 JDK 25 的预测可以在 InfoQ 的新闻报道中找到。

JDK 25

JDK 25 早期访问构建版本 的 Build 10 也已发布,包含从 Build 9 以来的更新,修复了各种问题。更多关于此版本的详细信息可以在发布说明中找到。

对于 JDK 24 和 JDK 25,开发者可以通过 Java Bug 数据库报告错误。

Spring Framework

Spring Framework 7.0.0 的第二个里程碑版本发布,包含一些新功能,例如:改进 AnnotatedMethod 类中定义的 equals() 方法和 HandlerMethod,解决跨域资源共享(CORS)配置查找失败的问题;改进 GenericApplicationContext 类,通过 JSpecify 的 @able 注解为 registerBean() 方法的 constructorArgs 参数添加了空值支持。更多关于此版本的详细信息可以在发布说明中找到。

类似的,Spring Framework 6.2.3 和 6.1.17 也已发布,包含新功能,例如:改进了 MVC XML 配置,解决了使用 AntPathMatcher 类的处理器映射问题,改为使用 PathPatternParser 类;改进 ProblemDetails 类,实现 Java Serializable 接口,以便在分布式环境中使用。这些版本将分别包含在即将到来的 Spring Boot 3.4.3(和 3.5.0-M2)以及 3.3.9 的发布中。更多关于此版本的详细信息可以在 6.2.3 版本的发布说明和 6.1.17 版本的发布说明中找到。

Spring Data 2025.0.0 的第一个里程碑版本发布,包含新功能,例如:通过 MongoDB Atlas 和 Cassandra Vector Search 为 MongoDB 和 Cassandra 提供向量搜索支持;增加新的 Vector 数据类型,允许在领域模型中抽象底层值,简化声明、可移植性和默认存储选项。更多关于此版本的详细信息可以在发布说明中找到。

类似的,Spring Data 2024.1.3 和 2024.0.9(均为服务版本)也已发布,包含错误修复、依赖项升级和对子项目的依赖项升级,例如:Spring Data Commons 3.4.3 和 3.3.9;Spring Data MongoDB 4.4.3 和 4.3.9;Spring Data Elasticsearch 5.4.3 和 5.3.9;以及 Spring Data Neo4j 7.4.3 和 7.3.9。这些版本将分别包含在即将到来的 Spring Boot 3.4.3 和 3.3.9 中。

Spring Tools 4.28.1 发布,变化包括:为 Windows 提供经过正确签名的 Eclipse 基金会发行版;解决在 Windows 11 上打开 Spring Tool Suite 可执行文件时出现的未知发布者错误。更多关于此版本的详细信息可以在 发布说明 中找到。

Open Liberty

IBM 发布 Open Liberty 25.0.0.2-beta,支持配置 MicroProfile Telemetry 2.0(mpTelemetry-2.0),将 Liberty 审计日志发送到 OpenTelemetry 收集器。这样,审计日志就可以与 Liberty 的其他日志源一起使用相同的解决方案进行管理。

Micronaut

Micronaut 基金会发布 Micronaut Framework 4.7.6,包含 Micronaut Core 4.7.14、错误修复以及对 Micronaut Oracle Cloud 模块的补丁更新。此版本还升级了 Netty 4.1.118,这是一个修复了 CVE-2025-24970 的补丁版本,该漏洞影响 Netty 4.1.91.Final 至 4.1.117.Final 版本,当通过 SslHandler 类实例接收特别构造的数据包时,会发生崩溃。更多关于此版本的详细信息可以在发布说明中找到。

Hibernate

Hibernate ORM 7.0.0 的第四个 Beta 版本发布,包含以下功能:迁移到 Jakarta Persistence 3.2 规范(这是针对 Jakarta EE 11 的最新版本);以 JDK 17 为基线;改进领域模型验证;从 Hibernate Commons Annotations(HCANN)迁移到新的 Hibernate Models 项目,用于处理应用程序底层领域模型。更多关于此版本的详细信息可以在发布说明和迁移指南中找到。

Hibernate Reactive 2.4.5.Final 发布,与 Hibernate ORM 6.6.7.Final 兼容,并解决了以下问题:在 Hibernate Reactive with Panache 中,通过 Session 接口的 persist() 方法创建具有双向一对一关系的新对象时抛出 Hibernate ORM PropertyAccessException;ReactiveUpdateRowsCoordinatorOneToMany 类的 doReactiveUpdate() 方法忽略了 deleteRows() 方法的返回值。更多关于此版本的详细信息可以在发布说明中找到。

Eclipse Vert.x

Eclipse Vert.x 5.0 的第五个候选版本发布,包含了一些显著的变化,例如:移除已废弃的类——ServiceAuthInterceptor 和 ProxyHelper,以及在 ServiceBinder 类中定义的两个重载的 addInterceptor() 方法;支持 Java 平台模块系统(JPMS)。更多关于此版本的详细信息可以在发布说明以及弃用和重大变更清单中找到。

Micrometer

Micrometer Metrics 1.15.0 的第二个里程碑版本发布,包含了错误修复、文档改进、依赖项升级和新功能,例如:移除对 OkHttp 客户端工具中 HTTP 状态码 404(Not Found)和 301(Moved Permanently)的特殊处理;弃用 SignalFxMeterRegistry 类(步进计数器),推荐使用 OtlpMeterRegistry 类(推送计数器)。更多关于此版本的详细信息可以在发布说明中找到。

Micrometer Tracing 1.5.0 的第二个里程碑版本发布,包含了依赖项升级,并弃用 ArrayListSpanProcessor 类,推荐使用 Open Telemetry 的 InMemorySpanExporter 类。更多关于此版本的详细信息可以在发布说明中找到。

Piranha Cloud

Piranha 25.2.0 发布,包含了许多依赖项升级、文档改进和一些显著的变化,例如:移除 GlassFish 7.x 和 Tomcat 10.x 的兼容性扩展;在 FileUploadExtension、FileUploadMultiPart、FileUploadMultiPartInitializer 和 FileUploadMultiPartManager 类中增加文件上传大小设置功能。更多关于此版本的详细信息可以在发布说明、文档和问题追踪器中找到。

Project Reactor

Project Reactor 2024.0.3 发布,这是第三个维护版本,包含了以下依赖项升级:reactor-core 3.7.3、reactor-netty 1.2.3 和 reactor-pool 1.1.2。此外,reactor-addons 3.5.2、reactor-kotlin-extensions 1.2.3 和 reactor-kafka 1.3.23 的版本保持不变。更多关于此版本的详细信息可以在变更日志中找到。

类似的,Project Reactor 2023.0.15 发布,这是第十五个维护版本,包含了以下依赖项升级:reactor-core 3.6.14、reactor-netty 1.1.27 和 reactor-pool 1.0.10。此外,reactor-addons 3.5.2、reactor-kotlin-extensions 1.2.3 和 reactor-kafka 1.3.23 的版本保持不变。更多关于此版本的详细信息可以在变更日志中找到。

JHipster

JHipster 8.9.0 发布,包含以下功能:依赖项升级到 Spring Boot 3.4.2、Node 22.13.1、Gradle 8.12.1、Angular 19.0.6 和 Typescript 5.7.3;对 JHipster 领域语言(JDL)中纯时间字段(Java LocalTime 类)的支持,该字段不再与日期绑定。更多关于此版本的详细信息可以在发布说明中找到。

Gradle

Gradle 8.13.0 的第一个候选版本发布,引入了一个新的自动配置工具,该工具可以自动下载 Gradle 守护进程所需的 JVM。其他显著改进包括:为 Scala 插件提供显式的 Scala 版本配置,可以自动解析所需的 Scala 工具链依赖项;在 JUnit XML 测试事件时间戳中改进了毫秒级精度。更多关于此版本的详细信息可以在发布说明中找到。

查看英文原文:

https://www.infoq.com/news/2025/02/java-news-roundup-feb10-2025/

声明:本文由 InfoQ 翻译,未经许可禁止转载。

今日好文推荐
没有“包袱”的火山引擎,跑赢“DeepSeek 大考”
中文比 R1 丝滑、玩宝可梦还贼溜?全球首个混合推理模型 Claude 3.7 Sonnet 太惊艳,网友直呼“孤独求败”!
我一个人,12 个月内,创办了 12 家公司,独立开发者十三年创业风云录
DeepSeek 等“六小龙”出圈背后,浙大系创业者的"组织文化代码"被写进 DNA 了?

相关推荐

C++企业级开发规范指南(c++开发gui)

打造高质量、可维护的C++代码标准一、前言C++作为一门功能强大的系统级编程语言,被广泛应用于操作系统、游戏引擎、高性能服务器、数据库系统等领域。知名互联网公司(如Google、Microsoft、腾...

C++|整型的最值、上溢、下溢、截断、类型提升和转换

整数在计算机内以有限字长表示,当超出最值(有限字长)时,需要截断(溢出,求模)操作。不同字长的整型具有不同的值域,混合运算时,需要类型提升和转换。1整形最值在<limit.h>中有整型的...

C++|漫谈STL细节及内部原理(c++ std stl)

1988年,AlexanderStepanov开始进入惠普的PaloAlto实验室工作,在随后的4年中,他从事的是有关磁盘驱动器方面的工作。直到1992年,由于参加并主持了实验室主任BillWo...

C++11新特性总结 (二)(c++11新特性 pdf)

1.范围for语句C++11引入了一种更为简单的for语句,这种for语句可以很方便的遍历容器或其他序列的所有元素vector<int>vec={1,2,3,4,5,6};f...

C++ STL 漫谈(c++中的stl到底指的什么)

标准模板库(StandardTemplateLibrary,STL)是惠普实验室开发的一个函数库和类库。它是由AlexanderStepanov、MengLee和DavidRMusser在...

C++学习教程_C++语言随到随学_不耽误上班_0基础

C++学习教程0基础学C++也可以,空闲时间学习,不耽误上班.2019年C语言新课程已经上线,随到随学,互动性强,效果好!带你征服C++语言,让所有学过和没有学过C++语言的人,或是正准备学习C++语...

C++遍历vector元素的四种方式(c++ 遍历vector)

vector是相同类型对象的集合,集合中的每个对象有个对应的索引。vector常被称为容器(container)。C++中遍历vector的所有元素是相当常用的操作,这里介绍四种方式。1、通过下标访问...

一起学习c++11——c++11中的新增的容器

c++11新增的容器1:array当时的初衷是希望提供一个在栈上分配的,定长数组,而且可以使用stl中的模板算法。array的用法如下:#include<string>#includ...

C++编程实战基础篇:一维数组应用之投票统计

题目描述班上有N个同学,有五位候选人“A,B,C,D,E”,请所有的同学投票并选举出班长,现在请你编写程序来他们计算候选人的得票总数,每位同学投票将以数字的形式投票“12345”分别代表五位候选人,...

C++20 新特性(6):new表达式也支持数组大小推导

new表达式也支持数组大小推导在C++17标准中,在定义并初始化静态数组时,是可以忽略数组大小,然后通过初始化数据来推导数组的大小。但使用new来定义并初始化动态数组时,并不支持这种自动推导数组大...

C++ 结构体(struct)最全详解(c++结构体用法)

一、定义与声明1.先定义结构体类型再单独进行变量定义structStudent{intCode;charName[20];charSex;intA...

自学 C++ 第 6 课 二维数组找最值

键盘输入一个m×n的二维数组,通过C++编程找出元素中的最大值,并输出其所在的位置坐标。例如,输入一个4×5的二维数组,数组元素分别为{{556623749},{578964563},...

从缺陷中学习C/C++:聊聊 C++ 中常见的内存问题

在写C/C++程序时,一提到内存,大多数人会想到内存泄露。内存泄露是一个令人头疼的问题,尤其在开发大的软件系统时。一个经典的现象是,系统运行了10天、1个月都好好的,忽然有一天宕机了:OOM(Out...

C++开发者都应该使用的十个C++11特性(上)

在C++11新标准中,语言本身和标准库都增加了很多新内容,本文只涉及了一些皮毛。不过我相信这些新特性当中有一些,应该成为所有C++开发者的常规装备。你也许看到过许多类似介绍各种C++11特性的文章。下...

深度解读C/C++指针与数组(c++指针和数组的区别)

指针和数组是密切相关的。事实上,指针和数组在很多情况下是可以互换的。例如,一个指向数组开头的指针,可以通过使用指针的算术运算或数组索引来访问数组。今天我们就来聊一聊数组和指针千丝万缕的关系;一维数组与...