前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 近期新闻:JDK 18 进入 Rampdown 阶段,JDK 19 专家组成立,Log4j2 漏洞

Java 近期新闻:JDK 18 进入 Rampdown 阶段,JDK 19 专家组成立,Log4j2 漏洞

作者头像
深度学习与Python
发布2022-03-01 11:24:48
7080
发布2022-03-01 11:24:48
举报

作者 | Michael Redlich

译者 | 盖磊

策划 | 丁晓昀

Java 近期要点事件包括 OpenJDK 相关 JEP、JDK 18 进入 Rampdown 第一阶段、JDK 19 专家组成立、Log4J 中发现远程代码执行漏洞、MicroProfile 5.0,以及 Spring、Hibernate 和 Quarkus 的小版本发布(point release)。

OpenJDK

已完成审核的 JEP 421,即“弃用并移除 Finalization 功能”,在 JDK 18 中的状态由“建议定向发布”升级为“定向发布(Targeted)”。该 JEP 将在此后的 JDK 发布版中弃用自 JDK 1.0 就引入的对象终止(Finalization)机制。对象终止机制最初设计用于避免产生资源泄露问题,但默认启用情况下会导致不可预测延迟、非受控行为和线程等多处严重缺陷。

JDK 18

JDK 18早期访问构建(early-access builds) 的 第 27 次构建(Build 27) 于上周公开提供。相对于第 26 次构建,本次的 关键更新 包括对多处问题的 修正,细节详见“发行说明”。

遵照 JDK 18 的 发布规划,Oracle Java 平台组首席架构师 Mark Reinhold 官宣 JDK 18 进入 Rampdown 第一阶段。这意味着 JDK 源代码仓库的主线已分支为 稳定代码库,并且 JDK 18 中不会再额外添加任何 JEP。至此,计划于 2022 年 3 月发布 GA 版的 9 个功能集最终为:

  • JEP 400:默认 UTF-8
  • JEP 408:简单 Web 服务器
  • JEP 413:Java API 文档中的代码片段
  • JEP 416:使用方法句柄(Method Handle)重新实现 Core Reflection 机制
  • JEP 417:Vector API(第三次孵化)
  • JEP 418:因特网地址解析 SPI 协议
  • JEP 419:外部语言交互(Foreign Function)和 Memory API(第二轮孵化)
  • JEP 420:switch 语句的模式匹配(第二版预览)
  • JEP 421:弃用并移除 Finalization 功能

鼓励开发人员通过 Java Bug Database 上报软件缺陷。

JDK 19

JSR 394,即 Java SE 19](https://jcp.org/en/jsr/detail?id=394),于上周提交,正式宣布了 JDK 19 的六人专家组成立。他们分别是来自 Azul Systems 的 Simon Ritter\)、来自 Eclipse 基金会的 Manoj Palat、来自红帽的 Andrew Haley、来自 SAP 的 Christoph Langer 、来自 Oracle 的 Iris Clark 和 Brian Goetz,由 Clark 和 Goetz 担当该 JSR 的牵头人。其中给定的 关键时间点 包括:2022 年 6 月至 8 月期间开放审核,2022 年 9 月发布 GA 版。

JDK 19早期访问构建版 的 第 1 次构建(Build 1) 也于上周发布。

Log4j2 的远程代码执行漏洞

上周,广为使用的 Log4j2 日志库 被发现 存在 零日攻击漏洞,涉及 2.0 到 2.14.1 间的各版本。远程代码执行漏洞 CVE-2021-44228 可利用 Java Naming 和 Directory Interface 中存在的缺陷,在日志中执行恶意代码。Log4j2 的贡献者迅速解决了漏洞,并发布了新版本 2.15.0。InfoQ 对此第一时间跟进并做了 详细报道。

MicroProfile

由 MicroProfile 工作组 正式 发布 的 MicroProfile 5.0,对 8 个社区开发的 API 全部做了更新,即 Config 3.0、Fault Tolerance 4.0、Health 4.0、JWT Authentication 2.0、Metrics 4.0、OpenAPI 3.0、OpenTracing 3.0 和 Rest Client 3.0。

最初基于各自相应 JSR 的 CDI、JAX-RS、JSON-P 和 JSON-B API,现在已转为相应的 Jakarta EE 9.1规范声明,分别为 Jakarta 上下文和依赖注入 3.0(CDI)、Jakarta RESTful Web 服务 3.0(JAX-RS)、Jakarta JSON 处理 2.0(JSON-P)和 Jakarta JSON 绑定 2.0(JSON-B)。Jakarta 注解(Annotations)2.0 也已于近期添加到 MicroProfile API 核心集中。该规范声明中给定了一组表示通用语义概念的注解,用于支持声明式编程。

在独立规范声明中,只有 上下文传播(Context Propagation)1.3 做了更新。

InfoQ 将对此进展做持续跟踪报道。

Spring 框架

上周 Spring 团队聚焦于解决 Spring Boot 中的 Log4j2 漏洞 问题,框架只有三次小版本发布。Spring Boot 应用的开发维护人员只有在选用了 Log4j2 默认日志 的情况下,才会受该漏洞的影响。

已 发布 的 Spring Tools 4 for Eclipse, Visual Studio Code, and Theia 4.13.0 中,包括 Eclipse 2021-12 和针对 Apple Silicon 平台(ARM M1)的构建。更多细节,提供在“变更日志”中。

最近发布的 Spring Cloud 2021.0.0(也称为 Jubilee)中提供 Spring Cloud Sleuth 3.1.0,支持 Spring Cloud Config、Spring Cloud Stream Reactive、Spring Session 和 Spring Cloud Task 等一系列 Spring 相关技术,还提供对 Cassandra 的支持。

Spring Native 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

作为 Hibernate ORM 5.6 版发行系列中的一个 维护版本,5.6.2.Final 版根据 Java 社区的反馈,恢复了部分在 5.6.1.Final 版中确定的弃用。这是因为“许多用户明确指出,这些弃用并非‘可操作的’,因而令人困惑。即在没有可替代 API 的情况下,此类弃用问题除视而不见之外无法得以解决。” 更多细节,参见“问题列表”。

已 发布 的 Hibernate Search 6.1.0.Beta1 版,包括可动态扩展的分布式索引、支持 Jakarta EE 9.1、自定义 Elasticsearch 索引映射等新特性。其中还有一些 完全变更,需注意协调策略database-polling已重命名为outbox-polling。

Quarkus

红帽上周发布了 Quarkus 2.5 的 第 2 个维护版本2.5.2.Final,其中修复了大量软件缺陷,并对文档做了改进。更多细节,参见“变更日志”。

原文链接:

https://www.infoq.com/news/2021/12/java-news-roundup-dec06-2021/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档