限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

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

评论

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

2021年Java笔试题总,教你抓住面试的重点

Java 面试 后端

Github上线仅六天,收获Star超55K+,这套笔记足够你拿下90%以上的Java面试!

Java 架构 面试 后端 计算机

Android音频架构| 社区征文

轻口味

android 音视频 新春征文

设计 | ClickHouse 分布式表实现数据同步

RadonDB

数据库 Clickhouse

2021年京东Java岗面试必问,我在华为做Java外包的真实经历

Java 面试 后端

2021年Java程序员职业规划,华为Java面试题目

Java 面试 后端

2021年Java网络编程总结篇,红黑树详细分析(图文详解)

Java 面试 后端

2021年互联网大厂Java笔经,Java自学宝典电子书下载

Java 面试 后端

2021年你与字节跳动只差这份笔记,大神码了2000页Spring全家桶笔记

Java 面试 后端

2021年Android程序员职业规划,小白勿进

android 面试 移动开发

2021年Java技术下半场在哪,35岁技术人如何转型做管理

Java 面试 后端

代码检查规则背景及总体介绍

百度开发者中心

最佳实践 代码规则

【等保知识】十个等保常见问题解答汇总

行云管家

网络安全 信息安全 等级保护 过等保 数据审计

谁是中国最受赞赏的创投机构?

创业邦

2021年一起努力应对互联网寒冬吧,Java程序员面试笔试宝典答案

Java 面试 后端

2021年Java面经分享,别再说你不会JVM性能监控和调优了

Java 面试 后端

IT运维和自动化运维以及运维开发有啥不同?能解释下吗?

行云管家

互联网 运维 IT运维 自动化运维 云运维

2021年一起努力应对互联网寒冬吧,字节跳动Java高级工程师

Java 面试 后端

2021年Java者未来的出路在哪里,Java开发校招面试题

Java 面试 后端

2021年Java者未来的出路在哪里,让人抓狂的Nginx性能调优

Java 面试 后端

2021年Java面经分享,程序员必备技能:时间复杂度与空间复杂度的计算

Java 面试 后端

2021年Java高级面试题总结,2021最新大厂高频微服务面试总结

Java 面试 后端

阿里巴巴首发:Java核心框架指导手册,1小时点击量破千万!

Java 程序员 架构 面试 计算机

2021年Java开发者常见面试题,初级Java面试题及答案

Java 面试 后端

2021年Android笔试题总,详解Android架构进阶面试题

android 面试 移动开发

2021年互联网大厂Java笔经,Java程序员如何有效提升学习效率

Java 面试 后端

如何画UML,几种简单的模型分析

编程 架构 面试 后端

2021年Android程序员职业规划,阿里P7大牛亲自讲解

android 面试 移动开发

2021年Android网络编程总结篇,retrofit面试

android 面试 移动开发

2021年Java面试心得,整理出这份8万字Java性能优化实战解析

Java 面试 后端

2021年互联网大厂Java笔经,Java重点知识大全

Java 面试 后端

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