打开网易新闻 查看精彩图片

作者 | Michael Redlich

译者 | 明知山

策划 | 丁晓昀

OpenJDK

Oracle Java 架构师 Paul Sandoz发起了一个提案,准备启动一个叫作巴比伦(Babylon)的 Java 项目,主要目标是“将 Java 扩展到外部编程模型,如 SQL、可微分编程、机器学习模型和 GPU 中”。巴比伦可以通过 代码反射 实现将 Java 扩展到外部编程模型中,这是对 Java 反射机制的增强,支持以适当的形式访问、分析和转换 Java 代码。这样一来,通过 Java 库的形式来支持外部编程模型就变得相对容易。

Sandoz 将领导这个新项目,并提供了一份初步评审人员名单,其中包括 Oracle 软件架构师兼 Panama 项目负责人 Maurizio Cimadamore、Oracle 软件架构师 Gary Frost 和英特尔首席软件工程师 Sandhya Viswanathan。想要了解更多信息的开发者可以观看最近的 JVM 语言峰会YouTube视频。

Sandoz 上周还介绍了JEP 草案 8315945,Vector API(第七轮孵化器)。这个 JEP 来自 Panama 项目,整合了针对前六轮孵化的增强和改进:即将在 JDK 21 GA 版本中交付的 JEP 448(Vector API (第六轮孵化器))、在 JDK 20 中交付的 JEP 438(Vector API (第五轮孵化器))、在 JDK 19 中交付的 JEP 426(Vector API (第四轮孵化器))、在 JDK 18 中交付的 JEP 417(Vector API (第三轮孵化器))在 JDK 17 中交付的 JEP 414(Vector API (第二轮孵化器))、在 JDK 16 中作为 孵化器模块交付的 JEP 338(Vector API (孵化器))。JEP 448 最重要的变化包括为支持 Vector API 值而对 JVM 编译器接口 (JVMCI) 进行的增强。

JDK 21

Build 35 仍然是 JDK 21 当前的早期访问构建版本。关于该构建的更多细节可以在发行说明中找到。

JDK 22

JDK 22 的早期访问构建版本 Build 14 提供了针对 Build 13 的 更新,其中包括对各种问题的修复。关于这个版本的更多细节可以在发行说明中找到。

Oracle Java 平台组首席架构师 Mark Reinhold 正式 提议JDK 22 的发布时间表:

  • Rampdown Phase One(从主分支 fork):2023 年 12 月 7 日

  • Rampdown Phase Two:2024 年 1 月 18 日

  • 初始候选版本:2024 年 2 月 8 日

  • 最终候选版本:2024 年 2 月 22 日

  • 普遍可用:2024 年 3 月 19 日

JDK提交者和评审者对该提案的评论将在 2023 年 9 月 15 日 23 点 之前开放讨论。如果届时没有人反对,那么根据 JEP 2.0流程建议,这将是 JDK 22 的发布时间表。

对于 JDK 22 和 JDK 21,开发者可以通过 Java Bug Database 报告缺陷。

GraalVM

Oracle Labs 发布 0.9.26 版本的原生构建工具,一个 GraalVM 项目,提供了可与 GraalVM 原生镜像互操作的插件。新版本包含了一些值得注意的变化,例如:使用 AttributeProviderAPI 修复与 Gradle 8.3 的兼容性问题、显式声明 Plexus-Xml 和 Plexus-Utils 依赖项来修复与 Maven 3.9.x 的兼容性问题、为即将发布的 GraalVM for JDK 21 准备原生构建工具。关于该版本的更多细节可以在变更日志中找到。

Spring Framework

在过去的两周里,Spring 一直很平静,但 VMware 的 Spring 开发者布道师 Josh Long 却没有闲着。除了他每周发表的“This Week in Spring”博文之外,Long 还发表了针对 SpringOne 2023 的个人 概述。他最近的一篇 博文 是关于 Spring Boot 3.2、GraalVM 原生镜像、Java 21 和虚拟线程是如何协同工作的。他还与 VMware Spring 安全负责人 Rob Winch、VMware Spring 工程高级技术人员 Daniel Garnier-Moiroux 和 Eventuate 创始人兼 CEO Chris Richardson 一起录制了“Bootiful”播客。

Quarkus

Quarkus3.3.2 版本发布,带来了依赖项升级和一些显著的变化,如:改进了 Dev UI 的 OIDC Auth0;删除 BuildConfig 类的imagePushSecret()方法,这个方法在使用内部注册表时是无效的;修复了 Quarkus 构建问题(使用quarkus.container-image.builder=jib属性时不考虑 Podman 的auth.json文件。关于该版本的更多细节可以在变更日志中找到。

MicroProfile

MicroProfile 工作组发布 MicroProfile 6.1 的首个发行候选版本,其中包括对 MicroProfile Config、MicroProfile Metrics 和 MicroProfile Telemetry 规范的更新。因此,MicroProfile 6.1 的最终特性(定于 10 月初发布 GA 版本)将包含:

  • Jakarta EE 10 Core Profile

  • MicroProfile Config 3.1

  • MicroProfile Fault Tolerance 4.0

  • MicroProfile Metrics 5.1

  • MicroProfile Health 4.0

  • MicroProfile Telemetry 1.1

  • MicroProfile OpenAPI 3.1

  • MicroProfile JWT Authentication 2.1

  • MicroProfile Rest Client 3.0

值得注意的是,Jakarta EE 10 核心概要包含了七个规范中的四个,即:Jakarta Contexts and Dependency Injection (CDI) 4.0、Jakarta RESTful Web Services 3.1、Jakarta JSON Processing 2.1 和 Jakarta JSON Binding 3.0,这些是在 MicroProfile 早期从 Java EE 7 和 Java EE 8 发展而来的 JSR 规范。

MicroProfile Config 3.1 的 第二个候选发行版 带来了一些值得注意的变化,如:更新了 TCK,与 CDI 4.0 的重大变更保持一致,包含了一个空的beans.xml文件,Bean 发现模式从all改为annotated;MissingValueOnObserverMethodInjectionTest 类的更新,在 ConfigObserver 被定义为@ApplicationScoped(可代理)和final(不可代理) 时会抛出DeploymentException。关于该版本的更多细节可以在问题列表中找到。

Helidon

Helidon4.0.0 的 第二个候选发行版 包含:JDK 21 基线;完全集成 Helidon NímaWeb 服务器;经过重度重构的 Helidon SE API,优化了命令式 / 阻塞场景;对 Web Server 和 Web Client 组件的增强,实现与 Helidon 3.0 相同的功能。关于该版本的更多细节可以在变更日志中找到。

Open Liberty

IBM发布23.0.0.9-beta 版 Open Liberty,包含:对 Liberty Spring Boot Support 3.0 的持续改进,可对在容器中创建的应用程序进行“瘦身”;Jakarta Data 规范的早期预览版。

Hibernate

Hibernate Search7.0.0 的第一个测试版包含了许多依赖项升级:JDK 11 作为基准、迁移到 Jakarta EE、Hibernate ORM 6.3.0.Final、Lucene 9.7.0、Elasticsearch 8.9.0 和 OpenSearch 2.9.0。

Infinispan

Infinispan发布14.0.17.Final 版,包含了一些值得注意的问题修复,例如:由 ServerEventLogger 类创建的缓存阻塞了可能导致死锁的缓存连接;DefaultExecutorFactory类创建的不必要的多个 Java ThreadGroup;为 RpcManager 接口的实现添加缺失的跨站点指标。关于该版本的更多细节可以在问题列表中找到。

Eclipse Mojarra

Eclipse Mojarra4.0.4发布,带来了一些值得注意的变化,例如:修复了当 Weld 中的 Bean Deployment Archive 为空时 Mojarra 无法初始化的问题;更健壮的 RetargetedAjaxBehavior 类实现;UIData 类的当前值是null时返回一个静态空数据模型。关于该版本的更多细节可以在发行说明中找到。

JDKMon

由 Azul 首席工程师 Gerrit Grunwald 创建的 JDK 监控和更新工具 JDKMon 发布了 17.0.71 版本,从新版本可以知道关于 JDK 21 GA 版本和下一个 OpenJDK 更新的时间。

JHipster

JHipster 8.0.0 的 第三个测试版 带来了以下增强功能:支持 JDK 20 和 JDK 21;清理 JHipster 领域语言 (JDL),将文件操作、配置和验证转移到 JDL 生成器中;修复 H2 控制台由于路径设置错误而无法加载的问题。关于该版本的更多细节可以在发行说明中找到。

类似地,JHipster 7.9.4 的发行版修复了 bug 并支持 Node.js 18。关于该版本的更多细节可以在发行说明中找到。

JavaZone 大会

JavaZone 大会在挪威奥斯陆的奥斯陆光谱剧院举行,来自 Java 社区的演讲者发表了演讲并举行了研讨会,主题包括:垃圾回收、量子计算、Haskell、Kubernetes、应用程序监控、微前端、JavaScript 和 Quarkus。

https://www.infoq.com/news/2023/09/java-news-roundup-sep04-2023/

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