写点什么

Java 近期新闻:Helidon 4.0、Eclipse Serializer 1.0 和 JDK 22 JEP

  • 2023-11-09
    北京
  • 本文字数:3803 字

    阅读完需:约 12 分钟

大小:1.94M时长:11:18
Java近期新闻:Helidon 4.0、Eclipse Serializer 1.0和JDK 22 JEP

OpenJDK


在经过评审之后,JEP 456(未命名变量与模式)从 Proposed to Target 进入到 Targeted(JDK 22)状态。这个 JEP 提议在经过前一轮预览之后确定这个特性:在 JDK 21 中发布的 JEP 443(未命名变量与模式(预览))。这个特性将“通过增加未命名模式未命名变量来增强语言,未命名模式可以匹配记录组件而无需声明组件的名称或类型,未命名变量是指被初始化但不被使用的变量。”这两者都以下划线字符表示,如r instanceof _(int x, int y)r instanceof _


JEP 460(Vector API (第七轮孵化))已经从 Candidate 进入到 Proposed to Target(JDK 22)状态。这个 JEP 属于Project Panama,在前六轮孵化的反馈基础上进行了增强:在 JDK 21 GA 版本中发布的 JEP 448(Vector API (第六轮孵化));在 JDK 20 中发布的 JEP 438(Vector API (第五轮孵化));在 JDK 19 中发布的 JEP 426(Vector API (第四轮孵化);在 JDK 18 中发布的 JEP 417(Vector API (第三轮孵化));在 JDK 17 中发布的 JEP 414(Vector API (第二轮孵化)和在 JDK 16 中作为孵化模块发布的 JEP 338(Vector API (孵化器))。自 JEP 448 以来最重要的变化包括对JVM编译器接口 (JVMCI)的增强和支持 Vector API 值。评审工作于 2023 年 11 月 3 日结束。


JEP 462(结构化并发 (第二轮预览)),已经从 JEP Draft 8317302 进入到 Candidate 状态。这个 JEP 没有发生变化,建议在 JDK 22 中继续预览 API,以便获得更多来自上一轮预览的反馈:在 JDK 21 中发布的 JEP 453(结构化并发 (预览))。这个特性通过引入结构化并发来简化并发编程,将在不同线程中运行的相关任务组视为单个工作单元,从而简化错误处理和取消操作,提高可靠性并增强可观察性。


JEP 461(Stream Gatherers (预览))已经从 JEP Draft 8317955 进入到 Candidate 状态。这个 JEP 提议让 Stream API 支持自定义中间操作。 “这将允许流式管道以现有内置中间操作不容易实现的方式来转换数据。”更多有关这个 JEP 的细节可以在 Oracle Java 平台组软件架构师Viktor Klang编写的原始设计文档中找到。


JDK 22


JDK 22Build 21已经可用,包含了来自 Build 20 的更新,包括对各种问题的修复。关于此版本的更多详细信息可以在版本说明中找到。


对于JDK 22,开发者可以通过Java Bug Database报告错误。


Jakarta Data


Jakarta Data 1.0.0 的第一个里程碑版本提供了以下内容:一个用于执行实体基本操作的新接口BasicRepository接口;CrudRepository接口添加新的方法insert()update(),用于扩展针对实体的基本操作能力,包括插入和更新操作;用于 CRUD 操作的新注解,InsertUpdateDeleteSave。关于该版本的更多详细信息可以在版本说明中找到。


GraalVM


Oracle Labs 发布 GraalVM for JDK 21 Community 21.0.1,包含了根据 Oracle关键补丁更新进行的修复,这些修复包括:一个新的CEntryPointErrors类,用于在无法确定堆栈边界时返回错误;在取消未使用的内存分配时发生进程崩溃;以及在 macOS 上使用ProcessBuilder类时偶发崩溃。关于该版本的更多详细信息可以在版本说明中找到。


Spring Framework


Spring Framework 6.1 的第二个发行候选版本带来了问题修复、文档改进、依赖项升级和新特性,如:支持在@SpringJUnitConfig@SpringJUnitWebConfig注解中配置ContextLoader,保持与@ContextConfiguration注解兼容;改进ControlFlowPointcut类的可扩展性,支持方法名称模式匹配;在TestContext接口中添加新注解DisabledInAotMode,用于跳过 AOT 处理。关于该版本的更多详细信息可以在版本说明中找到。


Spring Modulith 1.1.0 的第一个发行候选版本和服务版本 1.0.2 带来了问题修复、依赖项升级和改进,如:不再支持 Google Suppliers类的memoize()方法,而是支持 Spring SingletonSupplier类的of()方法;在参考文档中添加了一个任务说明。1.1.0-RC1 的新特性包括:在org.springframework.modulith.events包中新增@ApplicationModuleListener注解,对应的原始org.springframework.modulith包中的注解被标记为已弃用;重构@Modulith注解,用于定义遵循 Modulith 结构约定的 Spring Boot 应用程序。关于这些版本的更多详细信息可以在 1.1.0-RC1 的版本说明和 1.0.2 的版本说明中找到。


Spring Vault 3.1.0 的第一个发行候选版本带来了文档改进、依赖项升级和新特性,如:VaultTokenRequest类支持role_nameentity_alias参数;支持Transit Secrets Engine API类的prehashed属性;为VaultTransitOperations接口和VaultTransitTemplate类添加了rewrap()方法。关于该版本的更多详细信息可以在版本说明中找到。


Helidon


在 Helidon 4.0.0-ALPHA1 发布一年多时间之后,Oracle 发布了Helidon 4.0.0,带来了新的 Helidon Níma 服务器、对 MicroProfile 6.0 的支持,以及从异步 API 到阻塞 API 的转变。Helidon Níma 服务器是从头开始设计和构建的,充分利用了虚拟线程(这是 JDK 21 的特性之一)。关于该版本的更多详细信息可以在版本说明中找到,InfoQ 将会发布更详细的报道。


Helidon 的服务版本3.2.32.6.4都带来了显著的变化,如:HttpSignProvider类中定义的tarketKeys变量现在返回 Java 类ConcurrentHashMap的实例,而不是之前的HashMap类;max-payload-size属性现在被解析为Long类型,与 Helidon 4.0 保持一致,并移除了在值大于Integer.MAX_VALUE时抛出IllegalArgumentException;为NonTransactionalEntityManagerExtendedEntityManager类添加了无参数非私有构造函数。关于这些版本的更多详细信息可以在3.2.32.6.4的变更日志中找到。


Eclipse Serializer


Eclipse 基金会发布Eclipse Serializer 1.0,这是一个专为处理具有复杂对象结构和高度安全性的 Java 对象而设计的项目。该项目就是以前的 MicroStream Serializer,它让开发者能够序列化任意的 Java 对象,但与传统的 Java 序列化不同,无需实现Serializeable接口,也不需要使用特定的接口、超类或注解。


Quarkus


Red Hat 发布Quarkus 3.5.0,带来了问题修复、文档和性能改进,以及一些重要的变化,如:支持 JDK 21;改进了 OIDC 令牌传播过滤器,可以自定义交换状态并提供客户端名称;允许并行执行阻塞健康检查。关于该版本的更多详细信息可以在变更日志中找到。


BellSoft


BellSoft 发布了 JDK 11.0.10、17.0.9 和 21.0.1 的 Liberica Native Image Kit 版本22.3.423.0.223.1.1,作为上述关键补丁更新发布周期的一部分,解决了以下这些问题:CVE-2023-22025,允许未经身份验证的攻击者通过多种协议访问网络攻击 Oracle Java SE、Oracle GraalVM 企业版和 Oracle GraalVM for JDK,从而未经授权地更新、插入或删除可访问数据;CVE-2023-22067,允许未经身份验证的攻击者通过 CORBA 访问网络攻击 Oracle Java SE,从而未经授权地更新、插入或删除某些可访问的 Oracle Java SE 数据;CVE-2023-22081,允许未经身份验证的攻击者通过 HTTPS 访问网络攻击 Oracle Java SE 和 Oracle GraalVM for JDK,从而未经授权地导致 Oracle Java SE 和 Oracle GraalVM for JDK 部分拒绝服务。


Hibernate


Hibernate ORM 6.4.0 的第一个候选版本提供了以下功能:新的@SoftDelete注解,用于支持软删除,可以将值标记为已删除/未删除,而不是活动/非活动;实现了在 HQL 和 Criteria 查询中处理数组的其余功能;支持在 JDK Flight Recorder 中编写特定于 Hibernate 的事件。


Hibernate Search 7.0.0 的第一个候选版本包含了以下功能:问题修复;与 Hibernate ORM基于鉴别器的多租户、Elasticsearch 8.10 和 OpenSearch 2.10/2.11 的兼容性;依赖项升级到 Hibernate ORM 6.3.1.Final 和 Apache Lucene 9.8;因为迁移到Jakarta Batch规范,为保持一致,将一些与 JSR-352(Java平台的批处理应用程序)相关的 Maven 构件进行了重命名。


Apache Software Foundation


Apache Maven 4.0.0 发布第八个alpha版本,带来了一些重要的变化,如:不再支持Plexus XML,而是改为使用StAX/Woodstox进行 XML 解析;引入了用于未来 Maven 版本的 4.1.0 POM 模型;在构建 POM 中附加了一个build分类器,用于简化构建/使用者实现。有关该版本的更多详细信息可以在版本说明中找到。


Apache Camel 4.0.2发布,带来了问题修复、依赖项升级和新特性/改进,如:可以使用旧的 Micrometer 计量名称或遵循新的 Micrometer 命名约定;Dev 控制台支持子文件夹上传;对EndpointHelper类中定义的matchEndpoint()方法进行了优化,避免使用端点正则表达式。有关该版本的更多详细信息可以在版本说明中找到。


为了保持与 Quarkus 的一致性,Camel Quarkus发布了版本 3.5.0,解决了一些问题,如:由于未初始化时区信息而导致的CamelOracleJdbcTest执行失败;在配置了 SSL 的情况下 Kafka 容器启动失败;与FastCamelContext类相关的UnsupportedOperationException。有关该版本的更多详细信息可以在版本说明中找到。


JHipster


JHipster Lite 0.46.0 已经发布,带来了文档方面的改进、依赖项升级和增强特性,如:使用更通用的脚本 shebang 行,修复与NixOS的兼容性问题;在 Landscape MiniMap 中添加了交互功能,如悬停和选择。有关该版本的更多详细信息可以在版本说明中找到。


JDKMonitor


在摩洛哥 Devoxx 大会上,Azul 首席工程师Gerrit Grunwald介绍了一款新的 macOS 桌面小部件 JDKMonitor,用于显示距离下一个 OpenJDK 发布/更新的天数。这个小部件还可以显示最近四个长期支持版本的最新版本的特性,可以将它们作为 JDK 或 JRE 下载,还可以选择是否捆绑 JavaFX。这个小部件需要 macOS Sonoma 才能运行,并可以从App Store下载。


原文链接

https://www.infoq.com/news/2023/10/java-news-roundup-oct23-2023/

2023-11-09 08:009323

评论

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

2023我的前端面试小结

loveX001

JavaScript

基于ERNIELayout&pdfplumber-UIE的多方案学术论文信息抽取

汀丶人工智能

nlp 信息抽取 2022年终总结 2023新展望

群晖NAS设置Calibre个人电子图书馆

刘旭东

群晖 Calibre 个人图书

Reids的BigKey和HotKey

小小怪下士

Java redis 程序员

小心被坑死!如果你还在用 Zookeeper 做注册中心

风铃架构日知录

Java zookeeper 程序人生 后端 注册中心

一体化运维,降本增效!秒云助力海富通基金打造智能运维平台

MIAOYUN

运维 金融 智能运维 IT解决方案

谈谈你在面试中遇到的一面、二面、三面有什么区别?

风铃架构日知录

Java java面试 程序员面试 面试‘’ 面试流程

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

云时代,最好用的MySQL客户端工具推荐

NineData

MySQL 数据库 GUI

深入理解JS作用域链与执行上下文

loveX001

JavaScript

一文教会你mock(Mockito和PowerMock双剑合璧)

京东科技开发者

测试 powermock Mock pom 企业号 1 月 PK 榜

贴吧低代码高性能规则引擎设计

百度Geek说

低代码 规则引擎 平台化 企业号 1 月 PK 榜

ARM 算子性能优化上手指南

MegEngineBot

深度学习 开源 性能优化 MegEngine

Rancher RFO 正式 GA

openEuler

Linux 开源 Kubernetes 操作系统 rancher

OpenHarmony系统使用gdb调试init

OpenHarmony开发者

openha

AIGC最近很火,给大家推荐一个已经有1000位开发者使用的中文aigc开源模型,包括ai画图、ai聊天

AIGC布道者

人工智能 机器学习 AI AIGC AI绘画

Koordinator v1.1发布:负载感知与干扰检测采集

阿里巴巴云原生

阿里云 云原生 Koordinator

2023我的前端面试小结

loveX001

JavaScript

深圳大数据培训机构怎么选

小谷哥

前端培训机构如何学习开发技术

小谷哥

从recat源码角度看setState流程

flyzz177

React

4天带你上手HarmonyOS ArkUI开发——《HarmonyOS ArkUI入门训练营之健康生活实战》

HarmonyOS开发者

HarmonyOS

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

经常会采坑的javascript原型应试题

loveX001

JavaScript

Kubernetes 跨集群流量调度实战 :访问控制

Flomesh

Service Mesh 服务网格 服务网格

每个人都必须为2023年的十大基本技术趋势做好准备

超自动化

AI 超自动化

SPL 实现电力高频时序数据实时存储统计

石臻臻的杂货铺

SPL

web前端技术应该怎么规划学习?

小谷哥

国内首款支持gRPC+WebSocket调试的工具——Apipost

不想敲代码

用javascript分类刷leetcode13.单调栈(图文视频讲解)

js2030code

JavaScript LeetCode

【架构设计】你的应用该如何分层呢?

JAVA旭阳

Java 架构

Java近期新闻:Helidon 4.0、Eclipse Serializer 1.0和JDK 22 JEP_编程语言_Michael Redlich_InfoQ精选文章