【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

评论

发布
暂无评论

全网都在跪求的阿里Java修炼开发技术笔记,终于开放下载了

Java 程序员 后端

分享23种追女生的方式,教你同时把追MM和设计模式融汇贯通(下

Java 程序员 后端

分享我的2021京东4面面经,送给备战金三银四的你,Java小程序开发实例

Java 程序员 后端

刚从蚂蚁金服面试回来,分享我拿到社招Java研发岗offer的过程

Java 程序员 后端

创业神器-JAVA开源网盘系统推荐,springaop实现原理面试题

Java 程序员 后端

初来乍到,IT职场人,有些黑话要先了解(1),springboot定时任务注解原理

Java 程序员 后端

制作Docker镜像,用来下载OpenJDK11源码,分享一点面试小经验

Java 程序员 后端

全网都在跪求的阿里Java修炼开发技术笔记,终于开放下载了(1)

Java 程序员 后端

分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起

Java 程序员 后端

创建和销毁对象-考虑用静态工厂方法代替构造器,熬夜整理出Java后端学习路线

Java 程序员 后端

制作JavaCV应用依赖的基础Docker镜像(CentOS7+JDK8+OpenCV4)

Java 程序员 后端

全网最全Spring面试题之基础篇整理总结(共69题,附超详细解答

Java 程序员 后端

全网首发“Java面试考点大全”,深入linux内核架构pdf百度云

Java 程序员 后端

公司CTO:高性能开发,你不会Netty,java支付模块架构

Java 程序员 后端

六月份参加字节移动中台一二三面,一腔热血,终上岸,java面试设计模式的使用

Java 程序员 后端

写博客是一种乐趣,一种需要培养的乐趣,【性能优化实战】

Java 程序员 后端

分布式系统改造方案——数据篇,Java架构师视频

Java 程序员 后端

初来乍到,IT职场人,有些黑话要先了解,太牛了

Java 程序员 后端

做个小项目那不是简简单单!Java实现航空航班管理系统。

Java 程序员 后端

出招吧!腾讯专家手敲《Redis源码日志笔记,如何成为一个更好的Java开发者

Java 程序员 后端

第15份敏捷年度状态报告

Bruce Talk

敏捷 Agile

删了HDFS又能怎样?记一次删库不跑路事件,kafka的架构图

Java 程序员 后端

先到先得!价值百万的的ELk+Lucene笔记,阿里P7架构师带你看透maven的来龙去脉

Java 程序员 后端

全靠阿里内部(珠峰版)Java面试笔记,mysql数据库教程郑阿奇答案

Java 程序员 后端

入职字节跳动那一天,我哭了(蘑菇街被裁,java中异常处理机制的原理和应用

Java 程序员 后端

全网首发!今年的第一份Spring Boot实战派,让开发像搭积木一样简单

Java 程序员 后端

全靠这份阿里大厂Java面试真题手册,让我成功拿下12家大厂offer

Java 程序员 后端

写了一年golang,来聊聊进程、线程与协程,javamap底层原理

Java 程序员 后端

分享成功逆袭到美团面试心得:面试题(含答案,springboot面试题

Java 程序员 后端

分布式系统的一致性级别划分及Zookeeper一致性级别分析

Java 程序员 后端

初识动态规划,java程序设计教程第三版机械工业出版社

Java 程序员 后端

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