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

Java近期新闻:JDK 24进入Rampdown Phase Two、Spring、JobRunr、Commonhaus基金会

ztj100 2025-02-15 18:24 25 浏览 0 评论

作者 | Michael Redlich
译者 | 明知山
策划 | Tina
JDK 24

JDK 24 早期访问构建版本的第 32 个构建版本已发布,包含了自第 31 个构建版本以来的更新 ,修复了多个问题。更多关于此版本的详细信息可以在发布说明中找到。

根据 JDK 24 发布计划,Oracle Java 平台团队的首席架构师 Mark Reinhold 正式宣布 JDK 24 已进入 Rampdown Phase Two。这意味着:不会再为 JDK 24 添加新的 JEP,并将专注于通过修复请求流程修复优先级为 P1 和 P2 的问题。尽管仍有可能通过后期增强请求流程进行少量优化,但 Reinhold 表示,这一门槛“已变得异常高”。预计于 2025 年 3 月正式发布的 JDK 24 最终功能集将包括:

  • JEP 404: 分代 Shenandoah(实验性)

  • JEP 450: 紧凑的对象头(实验性)

  • JEP 472: 为限制 JNI 的使用做准备

  • JEP 475: G1 的后期屏障扩展

  • JEP 478: 密钥派生函数 API(预览)

  • JEP 479: 移除 Windows 32 位 x86 移植版本

  • JEP 483: 预先加载和链接类

  • JEP 484: 类文件 API

  • JEP 485: 流收集器

  • JEP 486: 永久禁用安全管理器

  • JEP 487: 作用域值(第四次预览)

  • JEP 488: 模式中的原始类型、instanceof 和 switch(第二次预览)

  • JEP 489: 向量 API(第九次孵化)

  • JEP 490: ZGC:移除非分代模式

  • JEP 491: 无需固定即可同步虚拟线程

  • JEP 492: 灵活的构造函数体(第三次预览)

  • JEP 493: 无需 JMOD 链接运行时镜像

  • JEP 494: 模块导入声明(第二次预览)

  • JEP 495: 简单源文件和实例主方法(第四次预览)

  • JEP 496: 量子抗性模块格基密钥封装机制

  • JEP 497: 量子抗性模块格基数字签名算法

  • JEP 498: 在 sun.misc.Unsafe 中使用内存访问方法时发出警告

  • JEP 499: 结构化并发(第四次预览)

  • JEP 501: 弃用 32 位 x86 移植版本

JDK 25

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

对于 JDK 24 和 JDK 25,开发人员可以通过 Java Bug 数据库报告问题。

Jakarta EE

在每周的 Hashtag Jakarta EE 博客中,Eclipse 基金会的 Jakarta EE 开发布道师 Ivar Grimstad 提供了关于 Jakarta EE 11 的 更新 信息,内容如下:

Jakarta EE 11 TCK(兼容性测试套件)重构的最新消息,团队已经很接近发布 Jakarta EE Web Profile 11。目前只剩下少量测试需要重构,TCK 用户指南的重写工作也已开始。

关于 Jakarta EE 12 的讨论正在加速。请查看 Jakarta EE Platform GitHub 问题跟踪器 中标记为 EE12 的问题。欢迎添加新问题或参与已有问题的讨论。你还可以加入 Jakarta EE Future Directions 兴趣小组,参与有关平台发展的讨论。

如果你无法参加每两周一次的电话会议(日历),可以加入 邮件列表 并在那里参与讨论。

Jakarta EE 11 的发布历程包含了四个里程碑版本,2024 年 12 月发布的 Core Profile,以及在 2025 年第一季度正式发布 Platform 和 Web Profile 之前的候选版本。

Spring Framework

Spring Framework 6.2.2 发布,包含了错误修复、文档改进、依赖项升级和新功能,例如:修改 BeanOverrideHandler 类,使其仅跟踪限定符注解,与 Spring Boot 的 QualifierDefinition 类保持一致;将 @MockitoBean 注解提升为支持字段和类型,与已废弃的 Spring Boot @MockBean 注解保持一致。此版本将包含在即将发布的 Spring Boot 3.4.2 和 3.5.0-M1 中。更多关于此版本的详细信息可以在发布说明中找到。

Spring Data 2024.1.2 和 2024.0.8 发布,均为服务版本,包含了错误修复、依赖项升级以及对子项目的依赖项升级,例如:Spring Data Commons 3.4.2 和 3.3.8;Spring Data MongoDB 4.4.2 和 4.3.8;Spring Data Elasticsearch 5.4.2 和 5.3.8;以及 Spring Data Neo4j 7.4.2 和 7.3.8。这些版本将包含在即将发布的 Spring Boot 3.4.2 和 3.3.8 中。

Spring AI MCP 团队发布了 0.5.0 版本,包含了一些新功能,例如:对传输层的增强,新增 HttpServletSseServerTransport 类以及基于阻塞队列的 Spring Framework SseEmitter.SseEventBuilder 接口的实现;新增物料清单。更多关于此版本的详细信息可以在发布说明中找到。

Quarkus

Quarkus 3.17.7 是第六个维护版本(由于回归问题跳过了 3.17.1),包含了显著的变更,例如:解决当方法被 @PermissionsAllowed 注解且有多个值时,@PermissionChecker 注解的参数无法正确匹配的问题;将 MongoDB 连接健康检查的执行从应用程序尝试将第一条记录存储到数据库时改为在启动时。更多关于此版本的详细信息可以在变更日志中找到。

Micrometer

Micrometer Metrics 1.15.0 的第一个里程碑版本包含了错误修复、文档改进、依赖项升级和新功能,例如:在可能的情况下使用 AssertJ AbstractAssert 类中定义的 failWithActualExpectedAndMessage();一致使用 Java String 类的 toLowerCase() 和 toUpperCase() 方法,并结合 Java Locale.ROOT 增强安全性。更多关于这些版本的详细信息可以在发布说明中找到。

类似的,Micrometer Metrics 的 1.14.3 和 1.13.10 版本包含了依赖项升级,并解决了一些问题,例如:在返回 CompletableFuture 的方法上应用切面时抛出的 PointerException;MeterRegistry 类 remove() 方法的性能退化问题,当注册大量计量器时表现尤为明显。更多关于这些版本的详细信息可以在 1.14.3 版本和 1.13.10 版本的发布说明中找到。

Micrometer Tracing 1.5.0 的第一个里程碑版本包含了错误修复、依赖项升级和新功能:避免创建多余的 OtelSpan 类实例;为 FinishedSpan 添加本地服务名称的设置和检索功能。更多关于此版本的详细信息可以在发布说明中找到。

类似的,Micrometer Tracing 的 1.4.2 和 1.3.8 版本:依赖项分别升级到 Micrometer Metrics 1.14.3 和 1.13.10,解决了当 OtelTraceContextBuilder 类实例设置 parentId 和 sampled 字段为 @able 时,与 TraceContext 接口中的相同字段保持一致的问题。更多关于这些版本的详细信息可以在 1.4.2 版本 和 1.3.8 版本的发布说明中找到。

Piranha Cloud

Piranha 25.1.0 发布,包含了许多依赖项升级和显著的变化,例如:新增 SecurityConstraint 类,增强自身的 SecurityManager API;解决 GrizzlyHttpServer 类实例在异步请求上不会无限期挂起的问题。更多关于此版本的详细信息可以在发布说明、文档和问题跟踪器中找到。

Project Reactor

Project Reactor 2024.0.2 是第二个维护版本,包含了对 reactor-core 3.7.2、reactor-netty 1.2.2 和 reactor-pool 1.1.1 的依赖项升级。此外,2024.0.2 版本还与 reactor-addons 3.5.2、reactor-kotlin-extensions 1.2.3 和 reactor-kafka 1.3.23 这些保持不变的构件进行了版本对齐。更多关于此版本的详细信息可以在变更日志中找到。

Project Reactor 2023.0.14 是第十四个维护版本,包含了对 reactor-pool 1.0.9 和 reactor-netty 1.1.26 的依赖项升级。此外,2023.0.12 版本还与 reactor-core 3.6.13、reactor-addons 3.5.2、reactor-kotlin-extensions 1.2.3 和 reactor-kafka 1.3.23 这些保持不变的构件进行了版本对齐。更多关于此版本的详细信息可以在变更日志中找到。

JobRunr

JobRunr 7.4.0 发布,支持 JDK 24、Spring Boot 3.4 和 Kotlin 2.1。增强功能包括:等待所有 RecurringJobPostProcessor 类实例完成后再启动 Spring Boot 和 BackgroundJobServer 类;确保所有 SQL 脚本中使用正确的大小写。此外,还解决了当 MongoDBStorageProvider 类实例配置为 NO_VALIDATE 选项时跳过集合验证的问题。更多关于此版本的详细信息可以在发布说明中找到。

OpenXava

OpenXava 7.4.5 发布,包含了错误修复、文档改进、依赖项升级和增强功能,例如:在 Tab 类中新增 filterByContentInAnyProperty() 方法,用于在任意列中过滤字符串值;在 Strings 工具类中新增 isJavaIdentifier() 方法,用于确定 Java 标识符的存在。更多关于此版本的详细信息可以在发布说明中找到。

Commonhaus 基金会

Commonhaus 基金会(一个致力于开源库和框架可持续性发展的非营利组织)宣布 Infinispan 加入该基金会。在 2025 年 1 月中旬发布的一篇博文中,Red Hat 高级首席软件工程师兼 Infinispan 项目负责人 Tristan Tarrant 描述了他们加入基金会的动机,他写道:

Commonhaus 完全符合我们的需求:其轻量级治理模式非常理想。我们既能享受加入优秀的基金会所能获得的好处,又能按照自己的方式运作项目。

Commonhaus 也是许多“友好项目”的所在地:Hibernate、Quarkus、Debezium、Jackson 等项目在我们的软件中扮演着关键角色,很高兴我们能共享一个“共同的家”。

其他加入该基金会的知名项目还包括:JReleaser、JBang、OpenRewrite、SDKMAN、EasyMock、Objenesis 和 Feign。

查看英文原文:

https://www.infoq.com/news/2025/01/java-news-roundup-jan13-2025/

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

今日好文推荐
17 岁移民少年靠 AI 逆袭!一夜之间到账数十亿,这个小众赛道赚麻了
PHP 程序员被特朗普特赦:本应终老监狱,因“技术细节”落网
硅谷三巨头组AI联盟,“大腿”特朗普壕砸5000亿美元!网友:有孙正义铁定要黄
做 CTO 还不如自己干?他靠独立开发赢得平静自由的生活,收入比当 CTO 还高!

相关推荐

如何将数据仓库迁移到阿里云 AnalyticDB for PostgreSQL

阿里云AnalyticDBforPostgreSQL(以下简称ADBPG,即原HybridDBforPostgreSQL)为基于PostgreSQL内核的MPP架构的实时数据仓库服务,可以...

Python数据分析:探索性分析

写在前面如果你忘记了前面的文章,可以看看加深印象:Python数据处理...

CSP-J/S冲奖第21天:插入排序

...

C++基础语法梳理:算法丨十大排序算法(二)

本期是C++基础语法分享的第十六节,今天给大家来梳理一下十大排序算法后五个!归并排序...

C 语言的标准库有哪些

C语言的标准库并不是一个单一的实体,而是由一系列头文件(headerfiles)组成的集合。每个头文件声明了一组相关的函数、宏、类型和常量。程序员通过在代码中使用#include<...

[深度学习] ncnn安装和调用基础教程

1介绍ncnn是腾讯开发的一个为手机端极致优化的高性能神经网络前向计算框架,无第三方依赖,跨平台,但是通常都需要protobuf和opencv。ncnn目前已在腾讯多款应用中使用,如QQ,Qzon...

用rust实现经典的冒泡排序和快速排序

1.假设待排序数组如下letmutarr=[5,3,8,4,2,7,1];...

ncnn+PPYOLOv2首次结合!全网最详细代码解读来了

编辑:好困LRS【新智元导读】今天给大家安利一个宝藏仓库miemiedetection,该仓库集合了PPYOLO、PPYOLOv2、PPYOLOE三个算法pytorch实现三合一,其中的PPYOL...

C++特性使用建议

1.引用参数使用引用替代指针且所有不变的引用参数必须加上const。在C语言中,如果函数需要修改变量的值,参数必须为指针,如...

Qt4/5升级到Qt6吐血经验总结V202308

00:直观总结增加了很多轮子,同时原有模块拆分的也更细致,估计为了方便拓展个管理。把一些过度封装的东西移除了(比如同样的功能有多个函数),保证了只有一个函数执行该功能。把一些Qt5中兼容Qt4的方法废...

到底什么是C++11新特性,请看下文

C++11是一个比较大的更新,引入了很多新特性,以下是对这些特性的详细解释,帮助您快速理解C++11的内容1.自动类型推导(auto和decltype)...

掌握C++11这些特性,代码简洁性、安全性和性能轻松跃升!

C++11(又称C++0x)是C++编程语言的一次重大更新,引入了许多新特性,显著提升了代码简洁性、安全性和性能。以下是主要特性的分类介绍及示例:一、核心语言特性1.自动类型推导(auto)编译器自...

经典算法——凸包算法

凸包算法(ConvexHull)一、概念与问题描述凸包是指在平面上给定一组点,找到包含这些点的最小面积或最小周长的凸多边形。这个多边形没有任何内凹部分,即从一个多边形内的任意一点画一条线到多边形边界...

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

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

C++ 编程中的一些最佳实践

1.遵循代码简洁原则尽量避免冗余代码,通过模块化设计、清晰的命名和良好的结构,让代码更易于阅读和维护...

取消回复欢迎 发表评论: