速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 2024-04-15
    北京
  • 本文字数:5444 字

    阅读完需:约 18 分钟

大小:2.73M时长:15:53
Java近期新闻:JDK 22、GraalVM for JDK 22、JDK 23发布时间表、JMC 9.0

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.43.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,改进对失败授权的处理;添加新的类DelegatingAuthenticationConverterDelegatingServerAuthenticationConverter,用于[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 相关的解析不一致的问题,调用 KafkaMessageListenerContainerConcurrentMessageListenerContainer 类中定义的 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 Client


Quarkus Hibernate Reactive 扩展将保留“reactive”,因为它本质上确实推动了响应式编程模型。


Micronaut


Micronaut 基金会发布Micronaut Framework 4.3.7,其中包括Micronaut Core 4.3.12、错误修复、文档改进以及模块的更新:Micronaut SecurityMicronaut 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-M189.0.87已发布,包含了一些显著变更,例如:确保在成功的FORM身份验证后恢复保存的POST请求正文时 URI、查询字符串和协议不会损坏;对WriterOutputStream类的错误处理保持一致,确保响应被回收后使用它们中的任何一个都会触发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 OpenFeigndismiss404替代了已弃用的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/

2024-04-15 08:006350

评论

发布
暂无评论
发现更多内容

leetcode 409 Longest Palindrome 最长回文串(简单)

okokabcd

LeetCode 算法与数据结构

开源交流丨任务or实例 详解大数据DAG调度系统Taier任务调度

袋鼠云数栈

软件测试 | 测试开发 | app自动化测试之Appium 原理 与 JsonWP 协议分析

测吧(北京)科技有限公司

json

2022年无糖茶饮料发展洞察分析

易观分析

无糖茶 行业洞察

Quick Tracking「全域采集与增长分析」,破局全域营销之道

瓴羊企业智能服务

基于 LowCodeEngine 的调试能力建设与实践

阿里巴巴终端技术

前端 低代码

UI设计培训班出来后找工作吗?

小谷哥

Java培训需要多长时间

小谷哥

前端高频面试题(三)(附答案)

helloworld1024fd

JavaScript 前端

前端高频面试题(四)(附答案)

helloworld1024fd

JavaScript 前端

麦聪软件为云上客户提供DaaS服务,入驻国内Top3云市场

雨果

公有云私有云 DaaS数据即服务

华为大数据开发平台 DataFactory 行业应用典型案例

宇宙之一粟

华为云 大数据技术 8月月更

数字藏品系统开发:详细功能介绍

开源直播系统源码

NFT 数字藏品 数字藏品系统软件开发 NFT数字藏品系统

长安链p2p-Liquid学习笔记

长安链

数字藏品系统开发:(开发NFT数字藏品源码)

开源直播系统源码

NFT 数字藏品 数字藏品系统

软件测试 | 测试开发 | 利用 pytest 玩转数据驱动测试框架

测吧(北京)科技有限公司

pytest

佛山等保测评机构有哪些?怎么做?

行云管家

等保 等级测评 佛山

node在大前端中的应用场景

达摩

nodejs

同时将博客部署到github和conding

Five

前端 博客搭建 8月月更

开源公开课丨ChengYing安装原理剖析

袋鼠云数栈

分布式协同AI基准测试项目Ianvs:工业场景提升5倍研发效率

华为云开发者联盟

云计算 云原生

JDK1.6中String类的坑,快让我裂开了…

华为云开发者联盟

开发

如何选择靠谱的Java培训

小谷哥

大学毕业后如何选择大数据培训机构

小谷哥

授人为师,首期明道云零代码教练员研修班圆满结束

明道云

MASA Stack 第四期社区例会

MASA技术团队

.net 云原生 dapr blazor MASA

大数据培训机构学习后就业前景如何

小谷哥

【算法实践】他山之石,可以攻玉--利用完全二叉树快速实现堆排序

迷彩

Python 数据结构 算法 二叉堆排序 8月月更

企业应用现代化实用教程 | 微服务架构怎么选?Dubbo、Spring Cloud、Istio终极对决

York

微服务 云原生 Spring Cloud istio Service Mesh (ASM)

何止一个惨字形容,水滴Java面试一轮游,壮烈了,问啥啥不会,数据库血崩,我该怎么办?

钟奕礼

Java 编程 程序员 后端 java面试

云监控是什么意思?哪个软件好?

行云管家

云计算 云平台 云监控

Java近期新闻:JDK 22、GraalVM for JDK 22、JDK 23发布时间表、JMC 9.0_编程语言_Michael Redlich_InfoQ精选文章