写点什么

Java 近期新闻:JDK 21、面向 JDK 21 的 GraalVM、Apache Pinot 1.0 和 Eclipse Epicyro 3.0

  • 2023-10-11
    北京
  • 本文字数:4003 字

    阅读完需:约 13 分钟

大小:2.27M时长:13:13
Java近期新闻:JDK 21、面向JDK 21的GraalVM、Apache Pinot 1.0和Eclipse Epicyro 3.0

OpenJDK

Oracle 的编程语言设计师Daniel Smith提交了值对象存储增强(预览)(Value Object Storage Enhancements (Preview))。在 Valhalla 项目下,该 JEP 在字段和数组组件中引入了值对象的空限制(null-restricted)存储。 “这些变量被初始化为类的初始实例,并拒绝写入空值。它们可以通过紧凑、扁平化的对象编码进行优化”。 


JDK 21

Oracle发布了Java 编程语言和虚拟机的21版本,其中包括 15 个 JEP 的最终特性集。关于该版本的更多信息,请参阅 InfoQ 的新闻报道


JDK 22

JDK 22 早期访问版本的Build 16发布,该版本是对 Build 15 的更新,包含对各种问题的修复。有关该版本的更多详情,请参阅发布说明

 

Oracle 的 Java 平台组的首席架构师Mark Reinhold提议的 JDK 22 发布计划没有异议,并宣布了如下的最终发布计划:

  • Rampdown 第一阶段(fork 主线):2023 年 12 月 7 日

  • Rampdown 第二阶段:2024 年 1 月 18 日

  • 初始候选版本:2024 年 2 月 8 日

  • 最终候选版本:2024 年 2 月 22

  • 正式发布:2024 年 3 月 19 日

 

对于JDK 22,鼓励开发人员通过Java缺陷数据库报告缺陷。


GraalVM

在发布JDK 21的同时,Oracle Labs 还发布了面向 JDK 21 的 GraalVM。新特性包括:完全支持 JDK 21;通过 Profile-Guided Optimizations 增强了性能;采用了新的应用程序级别的策略加快了编译时间;通过新的 CLI 选项--parallelism--color改善了开发人员的体验,这两个选项分别用来在构建时指定线程数和输出颜色。关于该版本的更多详情,请参阅发布说明。InfoQ 后续将会发布更详细的新闻报道。

 

在通往 1.0 版本的过程中,Oracle Labs 发布了Native Build Tools0.9.27版本,这是一个由插件组成的 GraalVM 项目,用于实现与 GraalVM Native Image 的互操作性。这个最新版本为面向 JDK 21 的 GraalVM 提供了错误修复和功能增强。有关此版本的更多详情,请参阅变更日志 


Amazon Corretto

亚马逊云科技发布了 Amazon Corretto 21,这是他们的 OpenJDK 21 的下游发行版,可以在 Linux、Windows 和 macOS 上使用。开发人员可以在该站点下载这一最新版本。


BellSoft Liberica JDK

同样,BellSoft 也发布了Liberica JDK 21,这是他们的 OpenJDK 21 的下游发行版。开发人员可以在该站点下载这一最新版本。


Spring Framework

Spring Boot 3.2.0 的第三个里程碑版本提供了缺陷修复、依赖关系升级和新特性,比如,在 Spring for Apache Pulsar 的配置中添加了ConnectionDetails接口和@ServiceConnection注解;提供RestClientBuilderConfigurer类的实例,以便于将 Spring Boot 的默认配置应用于自定义的RestClient.Builder接口;移除对 WebFlux 插装(instrumentation)的已废弃 ServerHttpObservationFilter类的使用。关于该版本的更多详情,请参阅发布说明

 

同样,Spring Boot 的3.1.43.0.112.7.16版本也对文档进行了更新和依赖性升级,为JavaVersion枚举类增加了TWENTY_ONE枚举常量,并修复了一些值得注意的缺陷,例如,在使用metadata-url查询时,Saml2RelyingPartyAutoConfiguration类会忽略在sign-request属性中设置的值;DomainSocket类中的文件描述符和套接字泄露;在使用WelcomePageHandlerMapping类的时候,无效的Accept请求 HTTP 头信息会产生HTTP 500 Internal Server Error。关于这些版本的更多详情,请参阅3.1.4版本3.0.11版本2.7.16版本的发布说明。

 

Spring Integration 6.2.0 的第三个里程碑版本包含了依赖性升级和值得关注的变更,例如,重构KafkaMessageDrivenChannelAdapter类,便于将来的维护,以避免代码重复;为LockRegistry接口添加新的重载executeLocked()方法,以遵循最佳实践以及JdbcTemplateRestTemplateJmsTemplate类中人们所熟知的模式;支持DefaultSftpSessionFactory类的自定义实例。有关该版本的更多详情,请参阅发布说明

 

Spring Batch 5.1.0 的第三个里程碑版本提供了缺陷修复、文档改进和新特性,比如,使用@EnableBatchProcessing注解和DefaultBatchConfiguration自动配置JobRegistryBeanPostProcessor类,以改进JobRegistry接口的 job 注册;通过@EnableBatchProcessing注解中的新参数指定数据库类型;在JdbcJobInstanceDao类中提供自定义JobKeyGenerator接口。有关该版本的更多详情,请参阅发布说明

 

Spring Cloud Dataflow 2.11.0 的发布提供了缺陷修复、依赖性升级并支持基于 Spring Boot 3.x 的流式应用、基于 Spring Cloud Task 3.x 的任务应用以及基于 Spring Batch 5.x 的批处理应用。此外,还升级了 Kubernetes batch/v1 cron job,这样开发人员就可以使用 Kubernetes 1.25.0 及以上版本。关于该版本的更多详情,请参阅发布说明

 

Spring Security的 6.2.0-M1、6.1.4、6.0.7 和 5.8.7 版本发布,修复了 CVE-2023-34042,对spring-security.xsd错误的授权(Incorrect Permission Assignment for spring-security.xsd),在该漏洞中,spring-security-config JAR 压缩包中的spring-security.xsd文件是随意可写的,这可能会导致漏洞。建议开发人员升级到这些版本。有关这些版本的更多信息,请参阅6.2.0-M1版本6.1.4版本6.0.7版本5.8.7版本的发布说明。

 

Spring for GraphQL的 1.2.3、1.1.6 和 1.0.5 版本发布,提供了缺陷修复、文档改进、依赖性升级和新特性,包括使用ConnectionTypeDefinitionConfigurer类访问访问对象类型扩展(以补充对象类型);当 Java Principal接口的实例不存在且未声明为Optional时,会触发 Spring Security AuthenticationCredentialsNotFoundException,以要求进行身份验证;增强 GraphQL 请求体检查以防止出现HTTP 500 Internal Server Error。这些版本分别可以与 Spring Boot 3.1.4、3.0.11 和 2.7.16 版本协同使用。关于这些版本的更多详情,请参阅1.2.3版本1.1.6版本1.0.5版本的发布说明。

 

Spring Authorization Server 1.2.0 的第一个里程碑版本包含了缺陷修复、依赖性升级和新特性,例如,注入自定义元数据以改善客户端注册功能;为 OIDC 提供者配置响应新提供了代码质询方法(code challenge method);使用CodeVerifierAuthenticator类改善了日志功能。关于该版本的更多详情,请参阅发布说明

 

Spring for Apache Pulsar 1.0.0 的第二个里程碑版本包含了如下值得关注的变更:能够为PulsarAdministrationDefaultPulsarConsumerFactoryDefaultPulsarReaderFactoryDefaultReactivePulsarSenderFactory类添加多个 customizer;将缓存提供者模块的源文件从默认的spring.pulsar.core包移至具有特定模块名称的包中,以避免与 Java 模块系统发生混淆。关于该版本的更多详情,请参阅发布说明

 

Spring Modulith的 1.1.0-M1 和 1.0.1 版本发布,提供了缺陷修复、文档改善、依赖性升级和新特性,例如,支持通过注册@ApplicationEventListener将领域事件外部化到消息中间件中(Kafka、AMQP、JMS 等);新的 Neo4j 事件发布仓库;新的CompletedEventPublicationsIncompleteEventPublicationsEventPublicationRepository接口,用于改善对已完成和未完成事件发布的处理。关于这些版本的更多详情,请参阅1.1.0-M1版本1.0.1版本的发布说明。

 

Quarkus

Quarkus 3.4.1 发布了对 Redis 7.2 的支持,以及对Flyway扩展支持的更改,其中包括:通过将quarkus.flyway.enabled属性设置为false,可以禁用 Flyway 扩展的自动配置;通过将quarkus.flyway.activequarkus.flyway.<datasourceName>.active属性分别设置为false,可以将特定数据源和某个名称的数据源设置为非活跃状态。关于该版本的更多详情,请参阅更新日志


Open Liberty

IBM发布Open Liberty 23.0.0.9 版本,该版本提供了对以下内容的支持:需要 Jakarta EE 10 的 Spring Boot 3.0、Spring Security 6.x 以及名为springBoot3的新服务器模板;支持使用 OpenID Connect 令牌端点的私钥 JWT 认证,以及将 LTPA 或 JWT cookie 路径设置为应用程序上下文根的能力,以便于为不同的应用程序提供不同的LTPAJWT令牌。


Micronaut

Micronaut 基金会发布Micronaut的 4.1.2 版本,其中包括Micronaut Core 4.1.6以及对Micronaut Data模块的更新。关于该版本更多的详情,请参阅发布说明


Hibernate

Hibernate ORM的 6.3.1.Final 和 6.2.9.Final 版本发布,其中包含已知缺陷的修正以及查询方法和查找器(finder)方法的改善。关于这些版本的更多详情,请参阅6.3.1.Final版本6.2.9.Final版本的发布说明。


Eclipse 基金会

在 OmniFishEE推出后不久,Eclipse Epicyro 3.0 作为Jakarta Authentication 3.0规范的独立实现正式发布。这个新项目会为认证机制定义一个通用的底层 SPI,即与调用者和容器环境交互以获取调用者凭证的控制器,并将经过认证的身份标识(比如名称和组)传递给容器。

 

Apache 软件基金会

实时分布式 OLAP 数据存储Apache Pinot 1.0.0 版本发布,提供了缺陷修复、功能增强和新特性,例如,在OVER()子句中使用ORDER BY子句实现 Window Functions查询运行时的初步支持;如果使用LIMIT子句,SortOperator类的执行将提前终止;对基于分区的叶子阶段处理的支持。关于该版本的更多详情,请参阅发布说明。InfoQ 将继续跟进,以提供更详细的新闻报道。

 

OpenXava

OpenXava 7.1.6发布了一些值得注意的功能修复,比如,改进了@ElementCollection@DescriptionsList注解之间的交互;如果列表中包含baseCondition参数和IFilter接口的实例,则使用@Tab注解对列表进行过滤或排序后的分组将会失败;如果应用程序位于代理背后,则IForwardAction接口的实例将无效。关于该版本的更多详情,请参阅发布说明


Gradle

Gradle 8.4 的第一个发布候选版本提供了如下功能:鉴于 Kotlin 尚不支持 JDK 21,因此仅在编译、测试和运行 Gradle 项目时提供了对 JDK 21 的初步支持;改进了在 Windows 操作系统上的编译;简化了使用ConfigurationContainer接口创建以角色为中心的Configuration接口实例的方法;改进了对Kotlin DSL的支持。关于该版本的更多详情,请参阅发布说明

 

原文链接:

Java News Roundup: JDK 21, GraalVM for JDK 21, Apache Pinot 1.0, Eclipse Epicyro 3.0

2023-10-11 00:008398

评论

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

招聘|欢迎加入非凸,学习Rust,了解内存和线程安全问题

非凸科技

对话达梦副总经理冯源 | 假如你身处被“科技制裁”的俄罗斯-墨天轮专访

墨天轮

数据库 oracle 国产数据库 达梦

数字化转型-信息技术引发的系统性变革

Geek_XOXO

企业数字化转型

集合去重的境界

flyhero

Java 程序员 后端 4月月更

如何画好流程图

Hockor

前端 流程图

今晚7点直播!聊一聊“进击的开源操作系统”

OpenAnolis小助手

InfoQ 龙蜥社区 CentOS停服 开源操作系统 今晚直播

多批爱心物资驰援,妙可蓝多助力上海抗疫

科技新消息

Go Error 最佳实践

宇宙之一粟

Go 语言 Error 4月月更

淘特 Flutter 流畅度优化实践 · 二期

阿里巴巴终端技术

flutter

【ELT.ZIP】《CCF开源高校行第一期》观后感

ELT.ZIP

Linux LVS OpenHarmony ELT.ZIP CCF开源高校行

百度智能云天工边云融合物联网平台,助力设备高效上云

百度开发者中心

单线程的 JavaScript 是怎么实现异步的?

CRMEB

系统性能分析从入门到进阶

阿里巴巴中间件

云计算 阿里云 云原生 中间件

SkyWalking 分布式系统追踪

Rubble

4月日更

当东数西算变成一场西游记……

脑极体

怒肝 JavaScript 数据结构 — 数组篇(二)

杨成功

JavaScript 数据结构 4月月更

架构实战训练营模块七

刘帅

漏洞挖掘之目录遍历漏洞

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

企业为什么需要文档协同

小炮

文档协同 团队协同

面试突击36:线程安全问题是怎么产生的?

王磊

Java java面试

后端开发【干货知识】—Redis,Memcached,Nginx网络组件

Linux服务器开发

reactor 中间件 后端开发 组件 Linux后台开发

张国荣《热·情》演唱会再现荧幕:AI修复解锁的经典与视听生活

脑极体

湖仓一体架构解析

五分钟学大数据

数据湖 4月月更

【ELT.ZIP】OpenHarmony啃论文俱乐部——细数生活中的压缩点滴

ELT.ZIP

OpenHarmony 数据压缩 ELT.ZIP

能直接调试的开放API?这个API Hub绝了

Liam

Jmeter Postman API swagger Mock

BFF治理与优化实践

码猿外

架构 微服务 BFF 软件架构治理

Ben Fisch等联创爆出道德、法律丑闻,Espresso Systems风雨飘摇

BlockChain先知

什么是数据库?5分钟深入理解数据库原理。

喀拉峻

数据库 网络安全

我和TiDB的故事 | 毫无准备地不期而遇,却想说与你相遇好幸运

TiDB 社区干货传送门

被你质疑价值的混沌工程,阿里巴巴已落地实践了9年

阿里巴巴中间件

阿里云 云原生 中间件 混沌工程

可能是全网第一个使用RediSearch实战的项目

越长大越悲伤

redis 中文分词 全文检索 SpringBoot 2 实战案例

Java近期新闻:JDK 21、面向JDK 21的GraalVM、Apache Pinot 1.0和Eclipse Epicyro 3.0_编程语言_Michael Redlich_InfoQ精选文章