前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 近期新闻:JDK 22、GraalVM for JDK 22、JDK 23 发布时间表、JMC 9.0

Java 近期新闻:JDK 22、GraalVM for JDK 22、JDK 23 发布时间表、JMC 9.0

作者头像
深度学习与Python
发布2024-04-12 14:31:26
1470
发布2024-04-12 14:31:26
举报
文章被收录于专栏:深度学习与python
作者 | Michael Redlich

译者 | 明知山

策划 | 丁晓昀

OpenJDK

JEP 466(类文件 API (第二次预览))已从 Candidate 进入到 Proposed to Target 状态。该 JEP 提议进行第二轮预览,以获取来自之前一轮预览的反馈,即 在 JDK 22 中发布的 JEP 457(类文件 API (预览))。该特性提供用于解析、生成和转换 Java 类文件的 API。这将先作为 ASM (在 JDK 中 ASM 是 Java 字节码操作和分析框架)的内部替代方案,并计划在后续将其开放为公共 API。Goetz 将 ASM 描述为“一个带有大量遗留负担的老代码库”,并提供了背景信息,说明该提议将如何发展并最终取代 ASM。

JDK Mission Control 9.0.0 发布,包含错误修复、增强功能和新特性,如:支持 Eclipse 4.30、Linux/AArch64 和深色模式;用于本地 JVM 刷新间隔的用户配置,替换默认的 5000 毫秒间隔;以及改进的 JFR 解析器性能。Mission Control 客户端现在在 Eclipse 2023-12 及以上版本上最佳运行。InfoQ 将跟进更详细的新闻报道。

JDK 22

Oracle 发布 Java 编程语言 和 JVM 22 版本,其中包含了 12 个 JEP 的最终特性。更多详情可在此 InfoQ 新闻报道中找到。

JDK 23

JDK 23 早期访问版本的 Build 15 已发布,其中包含了自 Build 14 以来的更新,包括针对各种问题的修复。关于此版本的更多详细信息,请参阅发行说明。

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

  • Rampdown Phase One(从主线分叉):2024 年 6 月 6 日
  • Rampdown Phase Two:2024 年 7 月 18 日
  • Initial Release Candidate:2024 年 8 月 8 日
  • Final Release Candidate:2024 年 8 月 22 日
  • General Availability:2024 年 9 月 17 日该时间表的评审于 2024 年 3 月 27 日结束。

GraalVM

随着 JDK 22 的发布,Oracle Labs 也发布 了 GraalVM for JDK 22 。新特性包括:对 Foreign Function & Memory API 的实验性支持;支持 NATIVE_IMAGE_OPTIONS 环境变量,允许用户和工具通过环境传递额外参数;改进了原生镜像代理跟踪调用机制。有关此版本的更多详细信息,请参阅发行说明。InfoQ 将跟进更详细的新闻报道。

Amazon Corretto

亚马逊发布 Amazon Corretto 22,他们的 OpenJDK 22 下游发行版,可在 Linux、Windows 和 macOS 上使用。开发人员可以从网站上下载最新版本。

BellSoft Liberica JDK

类似的,BellSoft 发布 Liberica JDK 22,他们的 OpenJDK 22 下游发行版本。开发人员可以从网站上下载最新版本。

随着 JDK 22 和 GraalVM for JDK 22 的发布,BellSoft 还发布了 Liberica Native Image Kit 24.0.0。变更包括:取消核心包,改用标准包;标准包和完整包仅用于 Java 应用程序(带或不带 JavaFX);改进了 SubstrateVM 监视器的进入 / 退出例程,加速原生镜像的启动。

GlassFish

GlassFish 8.0.0 的第三个候选版本包含了一些错误修复和显著变更,如:改进管理控制台的加载选项;将 GlassFishORBHelper 类重写为单例类;重构了 GlassFish 事件和调度处理机制。有关该版本的更多详细信息,请参阅发行说明。

Spring Framework

Spring Boot 3.3.0 的第三个里程碑版本发布,包含了错误修复、文档改进、依赖项升级和新特性,如:一个新的执行器端点 /actuator/sbom,用于公开所有可用的 SBOM;支持从环境加载 base 64 编码的值;在 UndertowWebServer 类中添加了一个新的 getUndertow() 方法,与 TomcatWebServer 类中定义的 getTomcat() 方法保持一致。有关该版本的更多详细信息,请参阅发行说明。

类似的,Spring Boot 3.2.4 和 3.1.0 发布,包含了依赖项升级和重要的错误修复,如:在 WindowsOS 上解析基于 URL 类型的字符串创建的 BuildpackReference 类实例时发生错误;在使用虚拟线程时缺少线程名前缀;在 Tomcat 被取消关闭时却报告成功关闭。关于这些版本的更多详细信息,请参阅版本 3.2.4 和版本 3.1.10 的发行说明。

Spring Security 6.3.0-M3、6.2.3、6.1.8、6.0.10、5.8.11 和 5.7.12 已发布,均包含了错误修复和依赖项升级。里程碑版本的新特性包括:在 DelegatingReactiveAuthenticationManager 类中添加了一个新方法 setContinueOnError() 和相应的字段 continueOnError,改进对失败授权的处理;添加新的类 DelegatingAuthenticationConverter 和 DelegatingServerAuthenticationConverter,用于 [a] 遍历多个 AuthenticationConverter 接口的实现,找到第一个非空的 Authentication 接口实现,以及 [b] 分别委托给其他 ServerAuthenticationConverter 接口的实现。关于这些版本的更多详细信息,请参阅版本 6.3.0-M3、版本 6.2.3、版本 6.1.8、版本 5.8.11 和版本 5.7.2 的发行说明。

Spring Session 3.3.0 的第三个里程碑版本包含了错误修复、依赖项升级和新特性,例如:允许使用 @SpringSessionTransactionManager 注解指定 PlatformTransactionManager 接口的实现,以防止应用程序在有多个 TransactionManager 接口实现的情况下无法启动;新的 SpringSessionBackedReactiveSessionRegistry 类,它从 Spring Session 中检索会话信息,而不是自己维护。关于这个版本的更多详细信息,请参阅发行说明。

类似地,Spring Session 3.2.2 和 3.1.5 已发布,其中包含了错误修复、依赖项升级以及与之前提到的 PlatformTransactionManager 接口的新特性。关于这些版本的更多详细信息,请参阅版本 3.2.2 和版本 3.1.5 的发行说明。

Spring Shell 3.2.3 和 3.1.10 已发布,其中包含了一些显著变化,例如:解决了由于重复的帮助参数导致的非交互式测试示例失败;新增了一个类,SpringSigningPlugin,用于签名快照版本;升级到 Gradle 8.6。这些版本分别基于 Spring Boot 3.2.4 和 3.1.10。关于这些版本的更多详细信息,请参阅版本 3.2.3 和版本 3.1.10 的发行说明。

Spring Integration 6.3.0-M2、6.2.3 和 6.1.7 已发布,其中包含了错误修复和依赖项升级。这三个版本都有一个显著的变化,即 ObservationPropagationChannelInterceptor 类已被弃用,因为它无法正确地传播观测结果。建议开发人员启用通道观测,并使用作为通道消费者的 MessageHandler 接口的实现。关于这些版本的更多详细信息,请参阅版本 6.3.0-M2、版本 6.2.3 和版本 6.1.7 的发行说明。

Spring Authorization Server 1.3.0 第三个里程碑版本包含了依赖项升级和新功能,例如:实现 OAuth 2.0 的令牌交换;支持 PKI Mutual-TLS 客户端身份验证方法。关于这个版本的更多详细信息,请参阅发行说明。

类似地,Spring Authorization Server 1.2.3、1.1.6 和 1.0.6 已 发布,其中包含了依赖项升级,并解决了 CVE-2024-22258 漏洞(Spring Authorization Server 中的 PKCE 降级),当机密客户端使用 PKCE 授予授权码时,应用程序容易受到 PKCE 降级攻击。如果使用公共客户端,则应用程序不易受到攻击。关于这些版本的更多详细信息,请参阅版本 1.2.3 和版本 1.1.6 的发行说明。

Spring Modulith 1.2.0 的第三个里程碑版本已发布,包含了错误修复、文档改进、依赖项升级以及这些新特性:@ApplicationModuleListener 注解中新增了 condition 字段,用于处理仅当事件符合特定条件时监听器才处理事件的场景;支持开放式应用模块和包信息类型。更多关于该版本的详情请参阅发布说明。

Spring for Apache Pulsar 1.0.4 发布,包含了依赖项升级和一个问题修复,解决在配置了 ProducerBuilderCustomizer 接口实现时生产者缓存失效的问题。更多关于此版本的详情请参阅发布说明。

Spring for Apache Kafka 3.2.0-M2、3.1.3 和 3.0.15 已发布,包含了错误修复、文档改进、依赖项升级和一些显著的变更,如:解决了与 Java ConcurrentModificationException 相关的解析不一致的问题,调用 KafkaMessageListenerContainer 和 ConcurrentMessageListenerContainer 类中定义的 setStoppedNormally()isInExpectedState() 方法;在 ReactiveKafkaConsumerTemplate 类中新增了缺失的 receiveBatch() 方法,用于返回 Project Reactor 的 KafkaReceiver 接口实现。更多关于这些版本的详情请参阅版本 3.2.0-M2、版本 3.1.3 和版本 3.0.15 的发布说明。

Quarkus

Quarkus 3.8.3(第二个维护版本,跳过了版本 3.8.0)带来了一些显著变更,例如:解决了由于缺少表而导致 Hibernate 模式验证失败的问题,但实际上表是存在的;支持通过 REST Client 发送 Java InputStream 实例;解决了 SmallRye Mutiny 与 Quarkus OpenTelemetry 包之间的不兼容性。更多关于此版本的详情请参阅更新日志。

Quarkus 团队宣布,为了提高清晰度,他们为部分扩展引入了一种新的命名策略,特别是那些包含“reactive”名称的扩展。他们发现,在扩展中使用“reactive”会导致混淆和误解,让开发人员误以为这涉及响应式编程。名称变化包括:

Quarkus

  • Quarkus RESTEasy Reactive 变成 Quarkus REST
  • Quarkus SmallRye Reactive Messaging 变成 Quarkus Messaging
  • Quarkus REST Client Reactive 变成 Quarkus REST ClientQuarkus Hibernate Reactive 扩展将保留“reactive”,因为它本质上确实推动了响应式编程模型。

Micronaut

Micronaut 基金会发布了 Micronaut Framework 4.3.7,其中包括 Micronaut Core 4.3.12、错误修复、文档改进以及模块的更新:Micronaut Security 和 Micronaut Maven Plugin。更多关于该版本的详情请参阅发布说明。

Eclipse 基金会

Eclipse Store 1.3.1 发布,包含了错误修复和新特性,例如:一个新的 CDI 扩展;用于 Eclipse Store 的 REST 服务;对 Spring Boot 配置的改进。更多关于此版本的详情请参阅发布说明。

Eclipse Vert.x 4.5.6 已发布,包含了一些显著变更,例如:重构了 HttpUtils 类中定义的absoluteURI()方法,该方法自己检查请求 URI 的格式,而不是使用 JDK 的 URI 解析器进行验证;解决了由于 Origin 类中定义的isValid()方法拒绝chrome-extension方案而导致的IllegalStateException。更多关于此版本的详情请参阅发布说明。

Apache 软件基金会

Apache Tomcat 11.0.0-M18 和 9.0.87 已发布,包含了一些显著变更,例如:确保在成功的FORM身份验证后恢复保存的POST请求正文时 URI、查询字符串和协议不会损坏;对 Writer 和 OutputStream 类的错误处理保持一致,确保响应被回收后使用它们中的任何一个都会触发NullPointerException,前提是discardFacades使用了默认值true。对于里程碑版本,团队决定将最低 Java 版本降低到 JDK 17。更多关于这些版本的详情请参阅版本 11.0.0-M18 和版本 9.0.87 的发布说明。

Maven 4.0.0-alpha-13 发布,包含了错误修复、依赖项升级和新特性 / 改进,例如:更新了 OperatingSystemProfileActivator 类,允许在指定操作系统版本时使用通配符;改进了 Dependency Injection API。更多关于此版本的详情请参阅发布说明。

Hibernate

Hibernate ORM 6.5.0 的第一个候选版本包含了错误修复和改进,例如:改进了 Java 时间对象和时区偏移的使用,现在直接通过 JDBC 驱动程序 JDBC 4.2 进行组装;为配置查询结果存储在查询缓存中的格式提供了新的布局;支持在 Jakarta Persistence 的 @IdClass 注解中使用 Java 记录作为参数。此版本还提供了基于 Hibernate 注解处理器的新 Jakarta Data 规范的技术预览。

Infinispan

Red Hat 发布基于 Infinispan 15.0.0 的 Infinispan Operator 2.4.0,一个内存数据存储。新功能包括:配置健康检查就绪、活动和启动探针值的能力;简化了 JGroups 配置,使用由 Infinispan 服务器提供的“Kubernetes”技术栈;改进了跨站点复制,使用 TLSv1.3 和 TLS 客户端认证作为默认选项。

Infinispan 14.0.27.Final 包含了一些显著变更,例如:将 PostgreSQL 驱动程序升级到 42.4.5;避免因 Infinispan Insights 出现错误而停止服务器;在停止缓存管理器时,对 InsightsService 类的实例进行了null检查。更多关于此版本的详情请参阅发布说明。

JobRunr

JobRunr 团队宣布与 MindWave 合作,将碳感知作业调度功能整合到 JobRunr 平台中。计划在 2024 年第 3 季度正式发布,这标志着他们的 使命 向前迈出了一大步,即“将前沿技术与环境管理相结合”。这个功能将在 JobRunr 和 JobRunr Pro 产品中提供。

JHipster

JHipster 8.2.1 版本包含了错误修复、依赖项升级和新特性,例如:更新了 @AuthorizedFeignClient 注解,使用 Spring Cloud OpenFeign 的dismiss404替代了已弃用的decode404属性;添加了 Gradle 的 Cucumber 约定插件;生成使用 Gradle 约定插件的初始文件。更多关于该版本的详情请参阅发布说明。

JHipster Lite 1.6.0 已 发布,包含了错误修复、依赖项升级和新特性 / 增强,例如:使用 Kafka 官方不带 ZooKeeper 的 Docker 镜像;改进了对依赖项排除的处理;在使用 Java String 类定义的indexOf()lastIndexOf()方法时,通过使用字符字面量替换字符串字面量来提升性能。更多关于该版本的详情请参阅发布说明。

Ktor

JetBrains 团队发布Ktor 的 2024 年路线图,Ktor 是一个用于创建微服务和 Web 应用程序的异步框架,旨在保持框架的轻量、灵活和透明。2024 年将发布的新特性包括:OpenTelemetry 插件;基于 gRPC 的服务;在 Ktor 3.0.0 中迁移到 Kotlinx-io,一个提供基本 I/O 原语的 Kotlin 多平台库;支持托管事务;简化依赖注入。

jFUSE

Cryptomator 发布 jFUSE 的生产就绪版本,这是一个用 Java 开发 FUSE 文件系统的实用程序。jFUSE 利用了 Java 的外部函数和内存 API,这是 JDK 22 中的一个新特性。FUSE(用户空间中的文件系统)是用户空间程序将文件系统导出到 Linux 内核的接口。

Gradle

Gradle 8.7 已发布:支持使用 Java 22 编译、测试和运行基于 JVM 的项目;为 Groovy DSL 脚本编译改进缓存;对延迟配置、错误和警告消息、配置缓存和 Kotlin DSL 的改进。关于该版本的更多细节可以在发行说明中找到。

查看英文原文

https://www.infoq.com/news/2024/03/java-news-roundup-mar18-2024/

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档