写点什么

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:006800

评论

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

分布式文件系统FastDFS实战

飞鸟

fastdfs 分布式文件系统

数字货币交易所系统软件开发介绍(案例)

现成数字货币交易所源码系统开发

数字货币交易所系统APP开发(源码搭建)

优酷鸿蒙开发实践|优酷 Android 与HarmonyOS Hap 混合打包

阿里巴巴终端技术

android 鸿蒙 客户端开发 HarmonyOS 优酷

一看就懂|焱融 SaaS 数据服务平台上手指南

焱融科技

云计算 技术 分布式 高性能 文件存储

21 张图 | 带你领略集合的 线程不安全

Java 架构 面试 线程 后端

网易云信的音频共享技术 | 体验共享专题

网易云信

音频技术

架构实战营-模块一作业

随风King

「架构实战营」

Golang fasthttp实践

FunTester

golang Fasthttp 接口测试 测试框架 FunTester

人生成长密码:高效能人士的7个习惯

dinstone

k8s集群安装经历

追风少年

k8s kubenetes

模块1

侠客行

架构实战营 「架构实战营」

三级等保是不是icp?两者是一样吗?

行云管家

网络安全 等级保护 等保三级 三级等保

小红书“致歉滤镜景点”:种草社区的尺度在哪?

石头IT视角

百度智能云大数据全景架构图如何赋能企业数字化

百度开发者中心

大数据 案例分享 行业创新

《世界质量报告》重磅发布,人工智能与机器学习成软件质量保证测试焦点

存储大师班 | 浅谈数据保护之快照与备份

QingStor分布式存储

分布式存储 快照 备份

FastDFS环境搭建

飞鸟

fastdfs

飞桨联邦学习框架PaddleFL新升级,实现纯两方安全计算协议

百度开发者中心

最佳实践 百度飞桨 版本升级

数字货币交易所软件系统开发简介(搭建)

架构训练营模块一作业

Beyond Ryan

架构实战营

百度人脸采集SDK通过CFCA权威安全测评

百度大脑

人工智能 人脸

第 20 章 -《Linux 一学就会》- 条件测试语句和if流程控制语句的使用

学神来啦

Linux linux运维 linux云计算 linux一学就会

研究表明到2025年多接入边缘云市场规模将稳步增长

云计算运维

数字货币交易所系统APP开发源码搭建

架构实战营-模块1-作业

无名

架构实战营

数字货币交易所系统软件开发介绍(源码)

IP地址溯源 从源头遏制计算机恶意程序感染

郑州埃文科技

网络安全 ipv6 IP地址 木马病毒

Cloud Studio 邀您互动,好礼送不停 | CIF 活动邀请

CODING DevOps

自动化部署 Cloud Studio 开发标准化 可视化编辑 多人协同

字节半天*3面/5天拿offer,全凭自身硬实力和这份Java面试笔记

Java 编程 程序员 架构 面试

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