Java 新闻综述:JDK 23 进入收尾阶段二,Graal 开发工具包,Payara 平台,JSpecify

Java 新闻综述:JDK 23 进入收尾阶段二,Graal 开发工具包,Payara 平台,JSpecify

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

本周Java回顾包括JDK 23进入第二阶段,Payara平台发布,Graal Development Kit for Micronaut 4.5.0,JSpecify 1.0.0,MicroProfile 7.0-RC1,Open Liberty 24.0.0.7,Oracle关键补丁更新,JEP 472晋升为JDK 24目标,限制使用不安全的JNI,多个版本的JDK发布,Spring、Payara、Quarkus、Open Liberty等项目有新版本发布,MicroProfile 7.0的第一个候选版本发布,Eclipse Vert.x 4.5.9、Apache Tomcat 10.1.26、JHipster Lite 1.13.0和1.12.0、JetBrains Ktor 3.0.0、Infinispan 15.1.0、Testcontainers for Java 1.20.0、JDKMon 21.0.5和Jox 0.3.0等项目有新版本发布。

🔎

延伸解读

JNI 限制进入 JDK 24 目标:从警告到异常

JEP 472 已晋升为 JDK 24 的正式目标,旨在限制与 FFM API 中受限方法一起使用不安全的 JNI。从 JDK 23 开始,Java 运行时将对 JNI 的使用发出警告,除非在命令行启用不安全的本机访问。预计在 JDK 23 之后的版本中,使用 JNI 将抛出异常而非警告。这意味着依赖 JNI 的库和框架需要提前适配,开发者应关注命令行选项的变化,并评估现有代码中 JNI 调用的必要性。

JDK 23 进入收尾阶段:功能冻结与修复重点

JDK 23 已进入 Rampdown Phase Two,这意味着不会添加新的 JEP,重点转向通过修复请求流程处理 P1 和 P2 级别的错误。虽然仍可通过延迟增强请求流程进行后期增强,但门槛已非常高。最终 GA 版本计划于 2024 年 9 月发布,包含 12 项功能。开发者可以关注早期访问构建的更新,但需注意 API 和功能已基本定型,适合开始进行兼容性测试。

JSpecify 1.0.0 发布:静态分析注解的稳定基石

JSpecify 1.0.0 发布了 @Nullable、@NonNull、@NullMarked 和 @NullUnmarked 等注解的最终版本,并承诺不会对这些注解进行向后不兼容的更改。这为 Java 静态分析工具提供了标准化的空值注解,有助于在编译期发现潜在的空指针问题。开发者可以开始在新项目中采用这些注解,并期待工具链的逐步支持,但需注意现有代码的迁移可能需要逐步进行。

MicroProfile 7.0-RC1 与 Open Liberty 更新:云

MicroProfile 7.0 的首个候选版本发布,包含 Telemetry 2.0、Fault Tolerance 4.1、Rest Client 4.0 和 OpenAPI 4.0 四个规范的更新,GA 版本计划于 2024 年 8 月初发布。同时,Open Liberty 24.0.0.7 引入了 MicroProfile Config 属性,用于配置直方图和计时器指标的统计信息,允许自定义百分位数和直方图桶。这些更新有助于提升云原生应用的可观测性和配置灵活性,开发者可关注规范兼容性。

❓

Q&A

JDK 23的当前阶段是什么?

JDK 23进入了收尾阶段二,专注于修复P1和P2级别的错误。

Graal Development Kit for Micronaut 4.5.0的主要功能是什么?

该工具包简化了云应用开发,提供了一组Micronaut框架模块,支持提前编译。

JSpecify 1.0.0的发布有什么重要更新?

JSpecify 1.0.0发布了标准注解的最终版本,包括@Nullable和@NonNull等。

Payara平台在2024年7月的版本更新了哪些功能?

更新包括改进Hazelcast配置和增强OpenID认证安全性。

Oracle最近发布了哪些JDK版本?

Oracle发布了JDK版本22.0.2、21.0.4、17.0.12、11.0.24和8u421。

MicroProfile 7.0的第一个候选版本包含哪些更新?

包含MicroProfile Telemetry 2.0、Fault Tolerance 4.1等四个规范的更新。

🏷️

标签

➡️

继续阅读