QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Java 近期新闻:新 JEP、GraalVM 23 早期访问构建、Infinispan、Mojarra、Micrometer Metrics

  • 2023-03-30
    北京
  • 本文字数:3457 字

    阅读完需:约 11 分钟

Java近期新闻:新JEP、GraalVM 23早期访问构建、Infinispan、Mojarra、Micrometer Metrics

OpenJDK


上周,JEP 440(记录模式)已从 JEP Draft 8300541提升Candidate 状态。该 JEP 最终确定了这一特性,并针对前 2 轮预览的反馈做了增强。这两轮预览分别是在 JDK 20 中发布的 JEP 432(记录模式第2次预览)和在 JDK 19 中发布的 JEP 405(记录模式预览)。该特性为这门语言添加了记录模式,用于解构记录值。记录模式可以与类型模式搭配使用,为“强大的声明式、可组合数据导航和处理形式”提供支持。最近,类型模式被扩展应用于switch 的选择标记:JEP 420(switch模式匹配第2次预览,在 JDK 18 中交付)和 JEP 406(switch模式匹配预览,在 JDK 17 中交付)。JEP 432 最重要的变化是不再支持在增强for语句头中使用记录模式。

 

类似地,JEP 441(switch模式匹配)已经从 JEP Draft 8300542提升Candidate 状态。该 JEP 最终确定了这一特性,并针对前 4 轮的预览反馈做了增强:JEP 433(switch模式匹配第4次预览),在 JDK 20 中交付;JEP 427(switch模式匹配第3次预览),在 JDK 19 中交付;JEP 420(switch模式匹配第2次预览),在 JDK 18 中交付;JEP 406(switch模式匹配开关预览),在 JDK 17 中交付。该特性通过在switch表达式和语句中支持模式匹配来增强语言。

 

JEP 442(外部函数和内存API第3次预览)已经从 JJEP Draft 8301625提升Candidate 状态。这个 JEP 基于之前的反馈做了改进:JEP 434(外部函数和内存API第2次预览),在 JDK 20 中交付;JEP 424(外部函数和内存API预览),在 JDK 19 中交付;JEP 419(外部函数和内存API第2轮孵化),在 JDK 18 中交付;JEP 412(外部函数和内存API第1轮孵化),在 JDK 17 中交付。该特性为 Java 应用程序提供了一个可以与 Java 运行时之外的代码和数据进行互操作的 API,让它们可以高效地调用外部函数以及安全地访问不受 JVM 管理的外部内存。JEP 434 的更新包括:在Arena接口中集中管理原生段(native segments)的生命周期;使用一个新元素解引用地址布局,增强布局路径;删除VaList类。

 

JEP Draft 8303683虚拟线程)是由Ron Pressler(Oracle Loom 项目架构师和技术主管)和Alan Bateman(Oracle Java 平台组架构师)于上周提交的。该 JEP 建议根据前 2 轮预览的反馈最终确定这一特性:JEP 436(虚拟线程第2次预览),在 JDK 20 中交付;JEP 425(虚拟线程预览),在 JDK 19 中交付。该特性为 Java 平台提供了虚拟线程。这种轻量级的线程极大地减少了编写、维护和观察高吞吐量并发应用程序的工作量。与 JEP 436 相比,其最重要的变化是虚拟线程现在完全支持线程局部变量,取消了不使用这些变量的选项。要了解更多关于 JEP 425 的细节,可以阅读InfoQ的新闻报道及观看José Paumard(Oracle Java 平台组 Java 开发大使)提供的 JEP Café截屏视频

 

JEP Draft 8304400启动多文件源代码程序)也是由 Pressler 提交的。该 JEP 建议增强 Java 启动器,让它可以执行以一个或多个 Java 源代码文件形式提供的应用程序。这样就可以推迟全面的项目设置,使得从小型应用程序到大型应用程序的过渡更加平滑。

 

JDK 20


JDK 20 仍处于发布候选阶段,GA 版本预计将于 2023 年 3 月 21 日发布。Build 36仍然是 JDK 20早期访问构建的当前构建。要了解关于这个版本的更多细节,请查看发布说明

 

JDK 21


JDK 21 的早期访问构建Build 14也于上周发布,其中包括来自 Build 13 的更新,该更新修复了各种问题。要了解关于这个版本的更多细节,请查看发布说明

 

对于JDK 20JDK 21,我们鼓励开发人员通过Java Bug数据库报告 Bug。

 

GraalVM


Oracle 实验室发布了 GraalVM 23.0.0 的最新早期访问开发构建。其新特性包括:对Native Image Bundles的初始支持;经过改进的 Linux 上 AWT 支持;原生镜像推荐。要了解关于这个版本的更多细节,请查看发布说明

 

Spring Framework


Spring Tools 4.18.0发布,新特性包括:经过升级的 Eclipse 2023-03 IDE;经过改进的新一代 Spring Data 存储库查询方法内容辅助;修复了导致 VSCode 中常规 Java 内容辅助停止工作的问题;修复m2e资源文件(如application.properties )不向目标文件夹复制的问题。要了解关于这个版本的更多细节,请查看发布说明

 

Quarkus


Quarkus 3.0.0的第6个Alpha版本提供了 2 个新特性:通过将quarkus.datasource.jdbc.telemetry 属性设置为true来启用 OpenTelemetry for JDBC;CredentialsProviders接口现在支持 MongoDB 连接。该版本还进行了依赖项升级,包括:SnakeYaml 2.0、Maven Compiler Plugin 3.11.0、Maven OpenRewrite Maven Plugin 4.41.0、SmallRye Common 2.1.0 和 JBoss Threads 3.5.0.Final。要了解关于这个版本的更多细节,请查看更新日志

 

Hibernate


Hibernate ORM 6.2的第4个候选版本根据 Java 社区的反馈提供了 33 个 Bug 修复和 28 个改进。预计这将是最终版本发布之前的最后一个候选版本。

 

Micrometer


Micrometer Metrics 1.11.0的第2个里程碑版本提供了一些新特性,包括:一个新指标jvm.threads.started ,用于报告 JVM 中活动应用程序线程的总数;一个新的 ElasticSearch 端点\_index\_template,用于创建索引模板;将 GC 名称添加到jvm.gc.pause指标;在基于 OSGi 的 Java 运行时上支持 Micrometer 库。

 

类似地,Micrometer Tracing 1.1.0 的第 2 个里程碑版本也提供了一些新特性,包括:Spring Cloud Sleuth注解的等效物;依赖项升级到 Micrometer 1.11.0-M2 和 OpenTelemetry 1.24.0。

 

Infinispan


Infinispan 14.0.7.Final发布,支持 Spring Framework 6 和 Spring Boot 3。它提供了一些值得注意的 Bug 修复,包括:MetricsCollector类中的NullPointerException;JSON 解析器不能正确报告错误位置;Redis 序列化协议(RESP)端点不能解析超过数据包大小的请求;并发访问Spring Session集成会导致会话属性丢失。

 

Piranha


Piranha23.3.0发布,显著的变化包括:升级CodeQL工作流;为DefaultAnnotationManager类添加 JUnit 测试;修复当端点应用程序仍处于部署过程中时报RuntimeException的问题。要了解关于这个版本的更多细节,请查阅文档问题跟踪系统

 

Reactor 项目


Reactor 2022.0.5 是该项目的第5个维护版本,依赖项升级到reactor-core 3.5.4、reactor-addons 3.5.1、reactor-netty 1.1.5、reactor-kafka 1.3.17 和reactor-kotlin-extensions1.2.2。

 

Eclipse Mojarra


Eclipse Mojarra 4.0.2发布,带来了一些显著的变化,包括:清理MockServletContext类,删除未使用的方法并添加@Override注解;清理ParseXMLTestCase类,删除未使用的方法、变量和注释掉的代码;确保@FacesConfig注解中的version()方法不会返回null;修复了在更新数据表分页标题中的按钮时报NumberFormatException的问题。要了解关于这个版本的更多细节,请查看发布说明

 

Apache 软件基金会


Apache Groovy 4.0.10发布,带来了一些值得注意的 Bug 修复和改进,包括:来自GroovyScriptEngine类的令人困惑的错误消息;局部变量值未丢弃时的内存泄漏;@Builder注解在 JDK 16 上不起作用;MissingPropertyException截断嵌套类的类名。要了解关于这个版本的更多细节,请查看发布说明

 

类似地,Apache Groovy 3.0.16也带来了一些值得注意的 Bug 修复,包括:无法在 JRE 16+的闭包或 Lambda 表达式上从BiPredicate接口调用方法;使用@CompileStatic注解会混淆静态导入的实例和方法;IllegalAccessException会使用 JDK 17 和 Groovy 3.0.9 的默认接口方法。该版本还支持 JDK 16。要了解关于这个版本的更多细节,请查看发布说明

 

JHipster


JHipster 团队发布了 JHipster Lite 0.29.0,带来了新特性和功能增强,包括:根据用户反馈删除JHipsterModulePackageJson类的依赖;删除当 Cassandra 数据库应用程序中正在测试的活动ApplicationContext会话超过四个时的警告消息;新的 Redis 依赖项和配置。要了解关于这个版本的更多细节,请查看发布说明

 

JReleaser


JReleaser 1.5.1(一个简化项目发布的 Java 实用工具)发布,带来了一些值得注意的修复,包括:添加Native Image汇编程序实用工具中缺少的graalVMNativeImage属性;Java Archive实用工具为JAVA_OPTS环境变量生成的错误格式;改进执行外部命令时的错误处理。要了解关于这个版本的更多细节,请查看发布说明

 

JobRunr


JobRunr 6.1.2发布,主要是修复了两个 Bug:当使用 MySQL 并将useServerPrepStmts属性设置为true时,元数据更新失败,并导致最终关闭;JobRunr Quarkus扩展JobRunrDocumentDBStorageProviderProducer类未使用正确配置的问题。

 

原文链接:

https://www.infoq.com/news/2023/03/java-news-roundup-mar13-2023/


相关阅读:

Java 20 发布,新特性一览:Amber、Loom 和 Panama 项目

Java 近期新闻:JDK 21 序列集合、JDK 20 向量 API、Gen ZGC、Hilla 2.0

2023-03-30 08:0020070

评论

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

3 分钟温故知新 RxJS 【创建实例操作符】

掘金安东尼

前端 函数式编程 8月月更

什么是文件存储?与对象存储有什么区别?

wljslmz

文件存储 8月月更

应用缺少POI数据,如何开发地点深度信息?

HarmonyOS SDK

腾讯发布第二季度财报,腾讯云数据库收入同比增长超过30%

科技热闻

寻找海量数据集用于大数据开发实战(维基百科网站统计数据)

程序员欣宸

大数据 数据集 8月月更

我做了个《联机桌游合集: UNO+斗地主+五子棋》无需下载,点开即玩!叫上朋友,即刻开局!不看广告,不做任务,享受「纯粹」的游戏!

HullQin

CSS JavaScript html 前端 8月月更

低代码实现探索(四十八)后端服务

零道云-混合式低代码平台

Web登录很简单?开玩笑!

TimeFriends

8月月更

计算机网络(二、物理层)

计算机网络 8月月更

五分钟给你的 gRPC 服务加上 HTTP 接口

万俊峰Kevin

Go 微服务 gRPC web开发 go-zero

少儿编程是智商税吗?不花钱让孩子赢在起跑线!

博文视点Broadview

Go-Excelize API源码阅读(十三)—— GetSheetVisible、SetSheetFormatPr

Regan Yue

Go 开源 源码解析 8月日更 8月月更

阿里云鲍文乐:基于事件的自动化运维最佳实践

阿里云弹性计算

事件 自动化运维 CloudOps

借我 1 小时,与 1000 人一起参与开源

腾源会

开源 腾源会

AntDB基于WAL日志的DML数据闪回实现

亚信AntDB数据库

AntDB 国产数据库 AISWare AIDB

GitHub标星139K的:“嵌入式Linux系统开发教程”

收到请回复

Java Linux 程序员 嵌入式 #运维

直播商城系统——直播和电商的合理有效结合

开源直播系统源码

软件开发 直播系统源码 直播带货系统 直播商城系统 直播app系统

圣庭医疗联合创始人谷红仓:高通量基因测序在药物研发和靶向治疗中的应用

阿里云弹性计算

HPC 高性能计算 生命科学 基因测序

Promise.allSettled 的 Polyfill 处理

汪子熙

JavaScript Promise Async 8月月更 web编程

设备管理|风机的日常运行与维护

PreMaint

企业设备管理 预测性维护 设备健康管理 风机的日常运维

【React源码系列】React Context原理,为什么我建议尽可能少的使用React Redux管理状态 审核中

爱切图的木子老师

react源码 react context react redux

云原生(二十) | 深入了解Kubernetes(k8s)Service

Lansonli

云原生 k8s 8月月更

组件解析:基础组件button的实现

独来独往

大前端 低代码 可视化 组件化 低代码平台

悟了,应该都了解分布式架构下负载均衡器吧

知识浅谈

负载均衡 8月月更

基于CC2530(ZigBee)设计的景观照明控制系统+配套手机APP

DS小龙哥

8月月更

CSS

武师叔

8月月更

开源一夏 | 使用 JavaScript 将文本转换为文件

海拥(haiyong.site)

JavaScript GitHub 开源 前端 8月月更

付费会员之我见(43/100)

hackstoic

商业模式

【LeetCode】课程表Java题解

Albert

LeetCode 8月月更

预约直播 | 基于预训练模型的自然语言处理及EasyNLP算法框架

阿里云大数据AI技术

深度学习 阿里云 算法框架

迄今为止最完整的DDD实践

阿里技术

DDD 经验分享

Java近期新闻:新JEP、GraalVM 23早期访问构建、Infinispan、Mojarra、Micrometer Metrics_语言 & 开发_Michael Redlich_InfoQ精选文章