java 近期要点事件包括 openjdk 相关 jep、jdk 18 进入 rampdown 第一阶段、jdk 19 专家组成立、log4j 中发现远程代码执行漏洞、microprofile 5.0,以及 spring、hibernate 和 quarkus 的小版本发布(point release)。
openjdk
已完成审核的 jep 421,即“”,在 jdk 18 中的状态由“建议定向发布”升级为“定向发布(targeted)”。该 jep 将在此后的 jdk 发布版中弃用自 jdk 1.0 就引入的对象终止(finalization)机制。对象终止机制最初设计用于避免产生资源泄露问题,但默认启用情况下会导致不可预测延迟、非受控行为和线程等多处严重缺陷。
jdk 18
jdk 18的于上周公开提供。相对于第 26 次构建,本次的包括对多处问题的,细节详见“”。
遵照 jdk 18 的,oracle java 平台组首席架构师官宣 jdk 18 进入 rampdown 第一阶段。这意味着 jdk 源代码仓库的主线已分支为,并且 jdk 18 中不会再额外添加任何 jep。至此,计划于 2022 年 3 月发布 ga 版的 9 个功能集最终为:
jep 400:
jep 408:
jep 413:
jep 416:
jep 417:
jep 418:
jep 419:
jep 420:
jep 421:
鼓励开发人员通过上报软件缺陷。
jdk 19
jsr 394,即,于上周提交,正式宣布了 jdk 19 的六人专家组成立。他们分别是来自 azul systems 的 simon ritter]()、来自 eclipse 基金会的、来自红帽的、来自 sap 的 、来自 oracle 的和,由 clark 和 goetz 担当该 jsr 的牵头人。其中给定的包括:2022 年 6 月至 8 月期间开放审核,2022 年 9 月发布 ga 版。
jdk 19的也于上周发布。
log4j2 的远程代码执行漏洞
上周,广为使用的日志库存在,涉及 2.0 到 2.14.1 间的各版本。远程代码执行漏洞可利用 java naming 和 directory interface 中存在的缺陷,在日志中执行恶意代码。log4j2 的贡献者迅速解决了漏洞,并发布了新版本 2.15.0。infoq 对此第一时间跟进并做了。
microprofile
由正式的 microprofile 5.0,对 8 个社区开发的 api 全部做了更新,即、、、、、、和。
最初基于各自相应 jsr 的 cdi、jax-rs、json-p 和 json-b api,现在已转为相应的 jakarta ee 9.1,分别为(cdi)、(jax-rs)、(json-p)和(json-b)。也已于近期添加到 microprofile api 核心集中。该规范声明中给定了一组表示通用语义概念的注解,用于支持声明式编程。
在独立规范声明中,只有做了更新。
infoq 将对此进展做持续跟踪报道。
spring 框架
上周 spring 团队聚焦于解决问题,框架只有三次小版本发布。spring boot 应用的开发维护人员只有在选用了的情况下,才会受该漏洞的影响。
已的 4.13.0 中,包括 eclipse 2021-12 和针对 apple silicon 平台(arm m1)的构建。更多细节,提供在“”中。
最近发布的(也称为 jubilee)中提供 3.1.0,支持、、和等一系列 spring 相关技术,还提供对 cassandra 的支持。
0.11 也已,其中新特性包括支持 spring data mongodb 延迟加载(lazy loading )的新注解@documentreference
、 恢复对 spring integration 的支持、支持非 spring boot 测试。spring native 的使用环境是 graalvm 21.3、spring boot 2.6 和 spring cloud 2021.0。
hibernate
作为 5.6 版发行系列中的一个,5.6.2.final 版根据 java 社区的反馈,恢复了部分在 5.6.1.final 版中确定的弃用。这是因为“许多用户明确指出,这些弃用并非‘可操作的’,因而令人困惑。即在没有可替代 api 的情况下,此类弃用问题除视而不见之外无法得以解决。” 更多细节,参见“”。
已的 6.1.0.beta1 版,包括可动态扩展的分布式索引、支持 jakarta ee 9.1、自定义 elasticsearch 索引映射等新特性。其中还有一些,需注意协调策略database-polling
已重命名为outbox-polling
。
quarkus
红帽上周发布了 quarkus 2.5 的2.5.2.final,其中修复了大量软件缺陷,并对文档做了改进。更多细节,参见“”。
原文链接:
评论