10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Java 近期新闻:单查询加载、GraalVM、GlassFish、JReleaser、Quarkus、Micronaut

  • 2023-09-12
    北京
  • 本文字数:3119 字

    阅读完需:约 10 分钟

大小:1.77M时长:10:19
Java近期新闻:单查询加载、GraalVM、GlassFish、JReleaser、Quarkus、Micronaut

OpenJDK

Java社区进程(JCP)执行委员会投票通过了 JSR 396(Java SE 21平台),向着计划在 2023 年 9 月 19 日发布的 GA 版本继续迈进。

JEP 442(外部函数和内存API第3个预览版)将在即将发布的 JDK 21 中交付,JEP 草案 8310626(外部函数和内存API)预计将在 JDK 22 中交付,那是Panama项目的主要特性之一。该项目将 JVM 与定义明确的“外部”(非 Java) API 连接起来,其中包括许多 C 程序员常用的接口。

Per-Åke Minborg是 Oracle 的一名技术顾问。他在这篇博文中讨论了外部函数和内存 API 的性能优势。Minborg 提供了一个关于字符串转换的基准测试:在 JDK 21 和 JDK 22 中使用该 API vs. 使用旧的 Java 本机接口(JNI)调用。

JDK 21

Build 35仍然是 JDK 21早期访问构建的当前构建。要了解关于这个版本的更多细节,请查看发布说明

JDK 22

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

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

GraalVM

在迈向 1.0 版本的道路上,Oracle 实验室发布了Native Build Tools0.9.25版本。这是一个 GraalVM 项目,其中包含与 GraalVM 原生镜像进行互操作的插件。这个最新版本将依赖项升级到了GraalVM Reachability Metadata Repository 0.3.4。要了解关于这个版本的更多细节,请查看变更日志

Spring Framework

为了解决 N+1 问题,Spring Data 团队引入单查询加载(Single Query Loading)。这是一种通过单个SELECT语句加载任意聚合的技术。随着Spring Data JDBC 3.2.0-M2 的发布,该团队宣称,这项新技术是“解决 N+1 问题的开始”。类RelationalMappingContext中新增了一个方法setSingleQueryLoadingEnabled(true),用于启用单查询加载。目前,该特性只适用于简单聚合(只包含一个聚合根和其他实体的单个集合)。但其团队承诺,未来的版本将改进这一限制。

Quarkus

Red Hat发布Quarkus的 3.3.1 版本,带来了依赖项升级和一些值得注意的变化,其中包括:修复了MicrometerRecorder类中潜在的NullPointerException;在VertxPoolMetrics类中新增计数器rejected ,用来记录被拒绝的请求数;修复了VertxHttpExporter 类解析/v1/traces 端点有误的问题。要了解关于该版本的更多细节,请查看变更日志

类似的,Quarkus 3.2.5.Final也带来了一些值得注意的变化,其中包括:修复了当CsrfRequestResponseReactiveFilter类检查媒体类型时,跨站点请求伪造扩展中潜在的NullPointerException;禁用ReactiveMongodbPanacheResourceTest类中的testMoreRepositoryFunctionalities()方法;修复了一个在多个线程中调用 bean 的写锁定方法时发生死锁的问题,其中该方法调用了同一 bean 中的另一个写锁定方法。要了解关于这个版本的更多细节,请查看变更日志

最后,Quarkus 2.16.10.Final发布,将依赖项Snappy Java从版本 1.1.8.4 升级到版本 1.1.10.1。要了解关于该版本的更多细节,请查看变更日志

Micronaut

Micronaut 基金会发布Micronaut Framework 4.1.0 版本,带来了Micronaut Core 4.1.3和一些新特性,其中包括:Bean映射器自动创建一种类型与另一种类型的映射;新增一个 Introspection Builder,如果一个类型只能通过构造器模式来构造,则可以利用@Introspected注解的 builder 成员来生成一个动态构造器;针对使用Kotlin符号处理(KSP)构建 Micronaut 应用程序做了改进。要了解关于该版本的更多细节,请查看发布说明

Microaut Frameworkd 4.0.6(第6个维护版本)升级了以下模块:Micronaut for SpringMicronaut JAX-RSMicronaut ServletMicronaut ValidationMicronaut RedisMicronaut TracingMicronaut AWSMicronaut Kafka。要了解关于该版本的更多细节,请查看发布说明

WildFly

WildFly 29.0.1发布,带来了组件升级(从 Quickstarts 29.x 迁移到 BOMs and WildFly Server 29.0.1.Final)和一些值得注意的 Bug 修复,其中包括:新依赖项org.jboss.jts to jdk.jconsole 导致 WildFly 29.0.0 不能在 Eclipse Temurin 17.0.8 上启动的问题;将依赖项升级到Square Okio 3.4.0,以解决CVE-2023-3635漏洞(可能导致 Okio 客户端在通过GzipSource类处理精心制作的 GZIP 归档文件时发生拒绝服务);升级到 WildFly 29.0.0 后与 MicroProfile RestClient 和 Jakarta CDI 规范有关的问题。要了解关于该版本的更多细节,请查看发布说明

Hibernate

Hibernate ORM的 6.3.0 和 6.2.8 版本发布,带来了一些值得注意的变化,其中包括:初步支持 Jakarta EE 11 的Jakarta Persistence 3.2规范,包括明确了 HQL/JPQL 查询中的数值字面量类型;新的Hibernate 6入门指南Hibernate查询语言新语法和新特性指南;作为 JPA 静态元模型生成器的一部分,能够为命名查询生成 DAO 风格的方法;生成器可以处理任意方法,而且创建出的查找器方法与使用新注解@Find的查询方法类似。

Hibernate Reactive 2.0.5.Final发布,兼容 Hibernate ORM 6.2.8.Final 和 Vert.SQL driver 4.4.5。值得注意的变化包括:MutinyGenerator类中定义的generate()方法返回类型从Uni<Object>更改为Uni<?>;增加了针对@TimeZoneStorage注解的测试;新增ParametersProcessorTest类来修复OracleParametersPostgresParametersSQLServerParameters类处理参数时的转义问题。要了解关于该版本的更多细节,请查看发布说明

Eclipse 基金会

Eclipse GlassFish 7.0.8 是第8个维护版本。该版本初步支持 JDK 21,并优化了 CDI 扩展,减少了非必要的ProcessAnnotatedType接口处理程序调用。它还带来了一些值得注意的 Bug 修复,包括:RWLockDataStructureTest类中的一个 JDK 11 兼容性问题;多 jar 文件兼容性问题;管理员用户将密码改为空时的 Admin Console 行为。要了解关于该版本的更多细节,请查看发布说明

Eclipse Vert.x 4.4.5发布,带来了依赖项升级和一些值得注意的变化,其中包括:改进ForwardedParser类,支持未用方括号括起来的 IPV6 地址;在实现WebSocketBase接口时,将帧聚合器与帧处理程序解耦;修复了 HTTP/2 在超时时抛出HttpClosedException而不是TimeoutException的问题。要了解关于该版本的更多细节,请查看发布说明弃用及破坏性变更清单

Eclipse JKube 1.14.0发布(一个用于 Kubernetes 和 OpenShift 的 Java 工具和插件实用程序),带来了 Bug 修复、改进,并支持 Gradle 8、Helidon、Spring Boot Layered Jar和向 OCI 注册中心推送Helm chart。要了解关于该版本的更多细节,请查看发布说明

JReleaser

JReleaser 1.8.0 版本发布(一个简化项目发布的 Java 实用程序),提供了文档改进、依赖项升级和一些值得注意的变化,其中包括:为缺失的 announcer 创建默认模板;升级到最新的 SDKMan 端点;改进 GitHub 422 错误响应的错误处理。要了解关于该版本的更多细节,请查看发布说明

值得注意的是,SLSA(Supply Chain Levels for Software Artifacts)已经宣布与 JReleaser、Maven 和 Gradle 的贡献者合作发布SLSA 1.0。这验证了 GitHub Actions BYOB(Build Your Own Builder)框架的设计,并证明了它的灵活性。

OpenXava

OpenXava 7.1.5发布,带来了一些显著的变化,其中包括:新增CompositeFilter类,用于在 Tab.setFilter()中同时使用两个IFilter,也可作为 @Tab注解的IFilter;新增环境变量XAVA_CALENDAR_VIEWEVENT_ACTION,用于定义日历单击事件的动作;修复在 @Editor("ValidValuesRadioButton")中使用枚举时会在日志中产生IndexOutOfBoundsException异常的问题。要了解关于该版本的更多细节,请查看发布说明

 

原文链接:

https://www.infoq.com/news/2023/09/java-news-roundup-aug28-2023/


相关阅读:

Java 近期新闻:JDK 21 RC1、Apache Camel 4.0、Payara Platform、Apache Tomcat、Micronaut

Java ZGC 垃圾收集器全面增强


2023-09-12 08:003987

评论

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

把成功过成自己的生活

子铭

成功学 生活状态

InfoQ写作平台首秀,来个自我介绍

nuhcoad

个人感想

HashMap 的 7 种遍历方式与性能分析

Bruce Duan

Java 性能 hashmap 遍历

阿里巴巴Java开发手册泰山版解读

Bruce Duan

KubeFATE: 用云原生技术赋能联邦学习(一)

亨利笔记

人工智能 学习 FATE KUBEFATE

神经网络的激活函数为什么要使用非线性函数

wangkx

神经网络 激活函数

浅析 Cocoapods-Packager 实现

Edmond

ruby ios CocoaPods binary packager

如何优雅滴在手机上跑Python代码

wangkx

Python 移动应用 手机编程

多云的一点思考

HU

Java并发编程系列——锁

孙苏勇

Java Java并发 并发编程 多线程

韦小宝真的幸福吗 | Random Forest

张利东

Python 学习

Day 47|Week 07-5 曾国藩家书|问学篇-学问何处何时都可做

熊小北同学

南丁格尔科普

小匚

学习来应对创业的未知

Neco.W

创业 重新理解创业

MySQL中order by语句的实现原理以及优化手段

天堂

Java MySQL 性能优化

游戏夜读 | 2020周记(3.27-4.3)

game1night

怎样算是一个好的开发者?

水滴

开发者

高仿瑞幸小程序 00 准备工作

曾伟@喵先森

小程序 微信小程序 大前端 瑞幸

经济大萧条对我的启示

Neco.W

创业 自我管理 职场 自我提升

程序员陪娃漫画系列——魔方

孙苏勇

程序员 生活 陪伴 漫画

即将步入职场,忐忑而又期待的新人菜鸟

菜农阿飞

成长 新人

关于5G RCS的产品猜想

机器鸟

消息队列Kafka - acks参数

Java收录阁

kafka

从数据闭环谈微服务拆分

松花皮蛋me

微服务

Netty 源码解析(四): Netty 的 ChannelPipeline

猿灯塔

DDD 实践手册(2. 实现分层架构)

Joshua

设计模式 领域驱动设计 DDD 系统架构 分层架构

死磕Java并发编程(7):读写锁 ReentrantReadWriteLock 源码解析

Seven七哥

Java并发 读写锁 ReentrantReadWriteLock

说出来就不灵啦

伯薇

糊涂 活在当下 享受状态 生活状态 观察者

为什么正在使用的Java版本跟环境变量的版本不一致

阡陌r

Java 踩坑

MySQL的死锁系列- 锁的类型以及加锁原理

程序员历小冰

MySQL

使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源

mzlogin

CDN Jekyll GitHub Pages 个人博客

Java近期新闻:单查询加载、GraalVM、GlassFish、JReleaser、Quarkus、Micronaut_编程语言_Michael Redlich_InfoQ精选文章