10 月 23 - 25 日,QCon 上海站即将召开,9折优惠最后2天 了解详情
写点什么

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

评论

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

零代码训练营第七期本月启动,现正开放报名!

明道云

【混合云小知识】混合云应用场景包含哪些?

行云管家

云计算 混合云

30个类手写Spring核心原理之环境准备(1)

Tom弹架构

Java spring 源码

Linux一学就会之重定向和文件的查找(Linux下一切皆文件)

学神来啦

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

搞定react源码 惊艳面试官

buchila11

React

学习react源码 征服面试官

buchila11

React

怎么排查是哪里出现了数据倾斜

编程江湖

大数据 数据倾斜

The Data Way Vol.7|从故事里寻找开源的『内核』

SphereEx

Apache 开源 播客 Meetup SphereEx

解析云原生2.0架构设计的8大关键趋势

华为云开发者联盟

云原生 架构设计 数据治理 存算分离 分布式云

热门盘点:企业该如何对待低代码?应不应该选择低代码?

优秀

低代码

「MySQL」数据库备份和还原

恒生LIGHT云社区

MySQL 数据库 MySQL 数据库

如何用GoldWave将音频添加生成机械化音效

懒得勤快

结算中心全国集中化支撑解决之道

鲸品堂

CSS之选择器

Augus

CSS 12月日更

再添神器!Paddle.js 发布 OCR SDK

百度开发者中心

OCR paddle.js

埃文科技上榜CCSIP 2021中国网络安全产业全景图3大安全模块

郑州埃文科技

网络安全 ip技术 全景图

一个渐进式微前端框架 - Fronts

RingCentral铃盛

架构 大前端 测试 经验分享

羊肉泡馍我们来了,尚硅谷西安分校设立首期特惠

编程江湖

编程开发

万字详解什么是生成对抗网络GAN

华为云开发者联盟

算法 推荐算法 GAN 强化学习 生成对抗网络

EasyRecovery如何恢复ps的psd文件

淋雨

数据恢复 EasyRecovery

保险行业办理过等保选择哪家好?有成功案例吗?

行云管家

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

Vue.js 的九个性能优化技巧

编程江湖

Vue 大前端

伴鱼基于 Flink 构建数据集成平台的设计与实现

Apache Flink

大数据 flink 编程 后端 实时计算

uni-app技术分享| uniapp实现直播旁路推流

anyRTC开发者

uni-app 音视频 视频直播 视频通话 旁路推流

大数据开发之Hadoop家族都有谁

@零度

大数据 hadoop

【喜讯】尚硅谷西安分校成立啦

@零度

尚硅谷 西安分校成立

API标准化对Dapr的重要性

行云创新

Redis分布式锁的正确使用

编程江湖

redis java编程

🍃【Spring专题】「实战系列」spring注解@ConditionalOnExpression详细使用说明

码界西柚

spring Spring Framework Condition 12月日更 ConditionOnExpression

产品经理进阶(一)Web APP UI一致性设计

No Silver Bullet

产品经理 12月日更

华为云应用构建技术实践精选集

华为云开发者联盟

云计算 华为云 内容合集 技术专题合集 应用构建

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