写点什么

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

评论

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

为什么越来越多的开发者放弃使用Postman,而选择Apifox

Liam

前端 后端 Postman swagger API文档

Flink ML API,为实时机器学习设计的算法接口与迭代引擎

Apache Flink

大数据 flink 编程 流计算 实时计算

社区动态|SelectDB 联合传智教育推出免费 Apache Doris 中文视频教程

SelectDB

Doris 开源社区 Apaache Doris 开源治理

全网对OSPF最言简意赅的归纳!强烈建议收藏!

wljslmz

OSPF 网络工程师 动态路由 6月月更 路由协议

手把手教你实战开发黑白棋实时对战游戏

华为云开发者联盟

云计算 软件开发 游戏开发 华为云

千万级高并发下看天翼云如何为“健康码”突破技术瓶颈

天翼云开发者社区

淘宝Native研发模式的演进与思考 | DX研发模式

阿里巴巴终端技术

ide 技术选型 native 客户端 动态化

中国企业数字化转型的十大趋势

小炮

天翼云对象存储ZOS高可用的关键技术揭秘

天翼云开发者社区

做多线程并发扩展,这两点你需要关注

华为云开发者联盟

spring 多线程 高并发 开发 华为云

为什么我们总是说不清「需求是什么」

LigaAI

产品经理 需求 需求分析 产品设计与思考

Yarn的RM功能介绍

五分钟学大数据

6月月更

SoFlu 软件机器人:辅助企业落地 DevOps 的自动化工具

飞算JavaAI开发助手

详解大集群通信建模理论公式

华为云开发者联盟

数据库 华为云 查询

知识图谱看高考,高考加油!高考学子金榜题名

清林情报分析师

数据分析 数据可视化 高考 知识图谱

天翼云践行“双碳”目标 “东数西算”绘画绿色发展新蓝图

天翼云开发者社区

MASA Auth - 从用户的角度看整体设计

MASA技术团队

OKALEIDO的NFT聚合交易,打造面向艺术家的Web3商业生态

股市老人

四川21市州国家反诈中心APP覆盖情况,筑牢全民反诈“防护墙”

易观分析

反诈APP

Streaming Data Warehouse 存储:需求与架构

Apache Flink

大数据 flink 编程 流计算 实时计算

KusionStack 开源有感|历时两年,打破“隔行如隔山”困境

SOFAStack

开源 编程语言 语言 #Github 运维‘

极客星球 | 开发者服务合规检测护航企业数字生态建设

MobTech袤博科技

信息安全 开发者服务 安全合规检测 SDK检测 数据健康

百度发布首个数字人度晓晓挑战高考作文

开源直播系统源码

高考 百度AI 度晓晓 百度数字人

见微知著,细节上雕花:SVG生成矢量格式网站图标(Favicon)探究

刘悦的技术博客

前端 favicon SVG svg图 Icon Font

TICS端到端实践:企业积分查询作业开发

华为云开发者联盟

云计算 华为云 安全计算

一文读懂天翼云自研TeleDB 数据库五大关键特性

天翼云开发者社区

架构实战营 - 第 6 期 模块八课后作业

乐邦

「架构实战营」

作为软件工程师,给年轻时的自己的建议(下)

禅道项目管理

工程师 程序员进阶 程序员‘

昇腾AI的蝴蝶效应,从智能制造开始

脑极体

Go语言创造者回顾:是什么让GoLang如此受欢迎?

三石

go语言

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