
OpenJDK
两个 JEP 从 Proposed to Target 状态进入到 Targeted 状态,目标版本为 JDK 25。这两个 JEP 分别是:JEP 513(灵活的构造函数体)和 JEP 505(结构化并发(第五次预览)),分别在这里和这里进行了公告。
三个 JEP 从 Candidate 状态进入到 Proposed to Target 目标版本为 JDK 25。这三个 JEP 分别是:JEP 510(密钥派生函数 API)、JEP 508(向量 API(第十次孵化))以及 JEP 506(作用域值),分别在 这里、这里和这里进行了公告。它们的评审将于 2025 年 5 月 16 日星期五结束。
上述每个 JEP 的详细信息可在 InfoQ 的新闻报道 中找到。
JEP 518(JFR 协作采样)已从 JEP Draft 8350338 状态进入到 Candidate 状态。该 JEP 提议 “改进 JDK Flight Recorder(JFR)在异步采样 Java 线程堆栈时的稳定性”。这是通过在安全点处遍历调用堆栈来实现的,安全点就是线程被挂起的、有明确代码定义的位置。
JEP 516(支持任意垃圾回收器的提前对象缓存)已从 JEP Draft 8326035 状态进入到 Candidate 状态。该 JEP 提议增强已在 JDK 24 中交付的 JEP 483(提前类加载与链接),缩短启动和热身时间,使其可以与任何垃圾收集器一起使用,包括低延迟的 Z Garbage Collector(ZGC)。
距离计划的第一阶段减速不足一个月,目前 JDK 25 的功能集包括以下九个 JEP:
502:稳定值(预览)
503:移除 32 位 x86 移植版本
505:结构化并发(第五次预览)
506:作用域值
508:向量 API(第十次孵化)
510:密钥派生函数 API
511:模块导入声明
512:紧凑源文件和实例主方法
513:灵活的构造函数体
JDK 25
JDK 25 早期访问构建版本的 Build 22 已发布,包含从 Build 21 以来的更新,包括对各种问题的修复。更多关于此版本的详细信息可在发行说明中找到。
对于 JDK 25,开发者可以通过 Java Bug 数据库报告错误。
JNoSQL
JNoSQL 1.1.7 发布,这是 Jakarta NoSQL 规范的兼容实现,包含了错误修复和一些增强功能,例如:新增 ValueReader 接口的实现,分别是 ArrayReader 和 InstantReader,分别支持数组和 Java Instant 类;对 ValueReaderDecorator 类的增强,改善了读取功能。更多关于此版本的详细信息可在发行说明中找到。
Quarkus
Quarkus 3.22.2 是第一个维护版本(跳过了 3.22.0 版本),包含了错误修复和一些显著的变化,例如:在使用 Jakarta RESTful Web Services @BeanParam 注解且没有参数时提供改进过的错误消息;解决为 Kotlin 数据类生成 Jackson 序列化器的问题。更多关于此版本的详细信息可在发行说明中找到。
Hibernate
Hibernate Reactive 3.0.0 的第一个候选版本包含了一些显著的变化,例如:支持使用 JReleaser 发布;新增 Mutiny.QueryProducer 和 Stage.QueryProducer 接口,分别用于支持 Mutiny 和 Stage 接口;在 Mutiny 和 Stage 接口中添加 getCriteriaBuilder() 方法,与 Jakarta Persistence 规范保持一致,建立统一的 API,从而改善与 Hibernate 处理器的互操作性。更多关于此版本的详细信息可在发行说明中找到。
JHipster
JHipster 8.11.0 发布,支持 JDK 24,进行了依赖项升级,包括 Spring Boot 3.4.5、Gradle 8.14 和 Node.js 22.15.0。新功能包括:改进了安全工具、将用户 ID 设置为 JWT 令牌的能力。更多关于此版本的详细信息可在发行说明中找到。
JobRunr
JobRunr 7.5.1 发布,解决了以下问题:由于查询字符串中未解析点字符(.)而导致 StaticFileHttpHandler 类实例返回 HTTP 状态码 404;由于指标集合中的 null 值导致的 NullPointerException。更多关于此版本的详细信息可在发行说明中找到。
Infinispan
Infinispan 16.0.0 的第一个开发版本发布,包含错误修复、依赖项升级和一些新功能,例如:支持 OpenTelemetry API 孵化器;使用 Java InputStream 类的 transferTo() 方法简化了 AbstractMarshaller 抽象类中定义的 objectFromInputStream() 方法。更多关于此版本的详细信息可在发行说明中找到。
JBang
JBang 0.126.0 发布,包含了错误修复、文档改进和一个显著的变化,即将 JdkManager 和 JdkProvider 类从 dev.jbang.net 包迁移到 dev.jbang.devkitman 包,将 JDK 管理代码移至其自己的单独模块。更多关于此版本的详细信息可在发行说明中找到。
Gatherers4j
Gatherers4j 0.11.0 发布,提供了新的中间方法 —— exponentialMovingAverageWithAlpha()、exponentialMovingAverageWithAlphaBy()、exponentialMovingAverageWithPeriod() 和 exponentialMovingAverageWithPeriodBy(),这些方法被添加到 Gatherers4j 抽象类中,用于实现指数移动平均值。由 Todd Ginsberg(德意志银行支付部总监兼首席工程师)于 2024 年 7 月引入的 Gatherers4j 是一个基于 JEP 485(流收集器)的中间流库。该版本的其他显著变化包括:对 RotateGatherer 类进行了优化,现在只存储要移动的最小元素集,而不是处理整个流。更多关于此版本的详细信息可在发行说明中找到。
原文链接:
https://www.infoq.com/news/2025/05/java-news-roundup-may05-2025/
评论