写点什么

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

评论

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

鉴释加入龙蜥社区,助力开源生态建设

OpenAnolis小助手

Linux 开源 社群 合作伙伴

必读!如何有效的进行沟通

观测观测

鉴释加入龙蜥社区,助力开源生态建设

OpenAnolis小助手

Linux 开源

异步调用如何使用是最好的方式?

CRMEB

TiDB Cloud 上线亚马逊云科技 Marketplace,为全球用户提供云端一栈式实时 HTAP 数据库体验

PingCAP

用 docker 快速搭建 kafka(qbit)

qbit

kafka zookeeper docker image

“以终为始”的正确使用方式

石云升

思维模型 1月月更

2022年保障企业内网安全就用行云管家!免费试用!

行云管家

云计算 云平台 内网 云管平台

第三方测评:GaussDB(for Redis)稳定性与扩容表现

华为云开发者联盟

redis 华为云 GaussDB(for Redis) NoSQL数据库 云原生NoSQL数据库

来自未来的交互设计!当电影中的一切变为现实,设计师要如何进化?

博文视点Broadview

基于Calcite的分布式多数据源查询

麒思妙想

MySQL 数据库 Apache Calcite gbase8a

前端工程师 2022 年必备的 7 个工具

开源之巅

JavaScript node.js

“在线设计”网络资源管理的源头活水

鲸品堂

通信运营商 在线设计平台

恒源云(GPUSHARE)_attention decoder效果不佳时如何应对

恒源云

深度学习 计算机视觉

全栈工程师?你知道全流程工程师吗?

蜜糖的代码注释

Java 开发 后端技术

企业上云后,不容忽视的管理工具-云管平台

行云管家

云计算 企业上云 云管平台 云管理

☕【Java深层系列】「并发编程系列」让我们一起探索一下CompletionService的技术原理和使用指南

码界西柚

Java 线程池 CompletionService 异步执行 1月日更

Linux之wc命令

入门小站

Linux

手把手教你丨小熊派移植华为 LiteOS-M

华为云开发者联盟

华为 鸿蒙 LiteOS 小熊派 移植

ReactNative进阶(二十九):BloC 模式

No Silver Bullet

React Native 1月月更 BloC

Spring Boot Admin 添加报警提醒和登录验证功能!

王磊

携程DBA负责人俞榕刚:OceanBase在携程的落地和实践

OceanBase 数据库

数据库 分布式 OceanBase 开源 携程 客户实践

Flutter启动流程分析之插件化升级探索

得物技术

flutter Weex Google 框架 原生

在线YAML转TOML工具

入门小站

工具

一款基于Java语言开发的,开源商业应用的模块化开发框架和智能管理平台-Axelor

马农驾驾驾

Java 系统开发 BPM 开发框架 智能管理

微信的业务架构图和学生管理系统的毕业设计

Geek_8d5fe5

架构实战营

恒源云(GPUSHARE)_AdderSR: Towards Energy Efficient Image Super-Resolution学习笔记

恒源云

人工智能 深度学习 计算机视觉

高并发环境下,6个构建缓存服务需要注意的问题

华为云开发者联盟

缓存 高并发 开发 并发 缓存服务

一线开发人员,你对项目了解多少?

蜜糖的代码注释

Java 程序员 后端技术

五步实现HarmonyOS应用(ets)【鸿蒙开发 07】

坚果

鸿蒙 1月月更

流批一体技术框架探索及在袋鼠云数栈中的实践

袋鼠云数栈

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