FCon7折倒计时最后一周:日程已上线70%!查看详情>>> 了解详情
写点什么

Java 近期新闻:Grails 6.0、PrimeFaces 13.0、JUnit 5.10、GraalVM、TornadoVM、新的 JEP 草案

作者:Michael Redlich

  • 2023-08-25
    北京
  • 本文字数:4057 字

    阅读完需:约 13 分钟

Java近期新闻:Grails 6.0、PrimeFaces 13.0、JUnit 5.10、GraalVM、TornadoVM、新的JEP草案

OpenJDK


甲骨文(Oracle)的软件架构师Maurizio Cimadamore已经提交了 JEP Draft 8310626外部函数和内存API。该 JEP 提议在经过两轮孵化和三次预览后最终确定该特性:JEP 412,外部函数和内存API(孵化阶段),在 JDK 17 中交付;JEP 419,外函数与内存API(第二轮孵化),在 JDK 18 中交付;JEP 424,外部函数和内存API(预览版),在 JDK 19 中发布;JEP 434,外部函数和内存API(第二次预览),在 JDK 20 中发布;以及 JEP 442,外部函数和内存API(第三次预览),将在即将发布的 JDK 21 中发布。自上一个版本发布以来的改进包括:一个新EnableNativeAccess 清单属性,允许可执行 JAR 中的代码在不使用--enableNativeAccess标志的情况下调用受限方法;允许客户端以编程方式构建 C 函数描述符,避免使用特定于平台的常量;改进了对本地内存中可变长度数组的支持;以及支持本地字符串中的多个字符集。


Cimadamore 和甲骨文技术人员顾问成员Per-Åke-Minborg还提交了 JEP Draft 8312611计算常量(Computed Constants)。这个 JEP 引入了计算常量的概念,其定义为最多初始化一次的不可变值的占位符。这为final字段提供了性能和安全优势,同时在初始化时间方面提供了更大的灵活性。该特性将作为预览版API 首次亮相。


甲骨文 OpenJDK 开发团队的Julian Waters已经提交了 JEP Draft 8313278Java虚拟机预先编译(Ahead of Time Compilation for the Java Virtual Machine)。该 JEP 提议“增强 Java 虚拟机加载 Java 应用程序和编译成本机代码库的能力,以实现更快的启动和基线执行”。


JDK 的回归测试工具jtreg已经发布了7.3 版本,并准备集成到 JDK 中。值得注意的变更包括:更新了一组用于在类 Unix 平台上进行测试的默认环境变量(DBUS_SESSION_BUS_ADDRESSWAYLAND_DISPLAYXDG-*);修复了使用多模块设置运行测试时的竞争条件;以及修复了在AgentServer类中定义的log(),该方法不会刷新输出。有关该版本的更多详细信息,请参阅发布说明

JDK 21


JDK 21早期访问构建版本第33版已于上周发布,其中包括第 32 版中各种问题的修复更新。有关该版本的更多详细信息,请参阅发布说明

JDK 22


JDK 22早期访问构建版本第8版也已于上周发布,其中包括第 7 版中各种问题的修复更新。有关该版本的更多详细信息,请参阅发布说明

对于JDK 22JDK 21,均鼓励开发人员通过Java缺陷数据库报告缺陷

GraalVM


GraalVM Community Components 23.0.1已发布,由用于JDK 20 Community 20.0.2的GraalVM用于JDK 17 Community 17.0.8的GraalVM组成,并提供了以下原生镜像(Native Image)的修复:jvm stat性能数据初始化;JDK Flight Recorder(JFR)事件常量池 ID;用户体验问题;以及生成报告中的分析结果。对计数循环的剥离挖掘优化功能也进行了更新,其中挖掘溢出循环在 Graal 编译器中被定义为“不剥离”。这些新版本分别构建在 JDK 版本的20.0.2+917.0.8+7上。有关这些版本的更多详细信息,请参阅版本20.0.2版本17.0.8的发布说明。


同样,GraalVM Community Edition 22.3.3也发布了,以与 GraalVM 社区版的 2023 年 4 月关键补丁更新(CPU)保持一致。该版本基于 JDK 的 17.0.7 和11.0.19版本构建。有关该版本的更多详细信息,请参阅发布说明


有关 GraalVM 最新版本的更多详细信息,请参阅这篇详细的新闻报道,其中包括与 Oracle 实验室 GraalVM 的开发人员倡导者Alina Yurenko的问答。

Spring 框架


Spring Cloud 2022.0.4 已发布,代号为 Kilburn,其带来了显著的变更,例如:支持Spring Cloud CommonsServiceInstanceListSupplier接口的委托进行重试感知负载均衡;改进了在Spring Cloud Stream中加载共享 bean 的异常处理;Spring Cloud OpenFeignSpring Cloud Netflix分别升级到 Feign 12.4 和 Eureka 2.0.1。该最新版本基于 Spring Boot 3.0.9 构建。需要注意的是,其子项目:Spring Cloud CLISpring Cloud for Cloud FoundrySpring Cloud Sleuth已从发布序列中删除。有关该版本的更多详细信息,请参阅发布说明


Spring Security的 6.1.2、6.0.5、5.8.5、5.7.10 和 5.6.2 版本已经发布,以解决两个通用漏洞披露(Common Vulnerabilities and Exposures,CVE):CVE-2023-34034WebFlux安全绕过无前缀的双通配符模式,这是一个漏洞,在 Spring WebFlux 的 Spring Security 配置中使用双通配符(**)作为模式会导致模式匹配出现不匹配,从而可能导致安全绕过;和 CVE-2023-34035使用多个Servlet时可能会错误配置授权规则,该漏洞使用requestMatchers(String)方法和多个 servlet(其中一个是 Spring MVC DispatcherServlet类)可能会导致授权规则错误配置。有关这些版本的更多详细信息,请参阅版本6.1.2版本6.0.5版本5.8.5版本5.7.10版本5.6.12的发布说明。


Spring Shell的 3.1.3、3.0.7 和 2.1.12 版本已经发布,其特性包括:在CompletionProposal类中添加了complete()方法,以便通过多次单击选项卡(如文件路径)来完成单个参数。这些版本分别基于Spring Boot的 3.1.2 版本、3.0.9 版本和 2.7.14 版本构建。有关这些版本的更多详细信息,请参阅版本3.1.3版本3.0.7版本2.1.12的发布说明。

Grails


Grails 基金会发布Grails的 6.0 版本,它提供了:最小的 JDK 11 版本;对 Spring Framework 5.3.28、Spring Boot 2.7.12 和 Gradle 7.6.1 的支持;Grails Forge UI的首次亮相,这是一个类似于 Spring Initializr 等项目的入门项目;以及增强了对 Micronaut Framework 的集成。有关该版本的更多详细信息,请参阅发布说明,InfoQ 将会跟进更详细的新闻报道。

TornadoVM


开源软件技术公司TornadoVM发布了 0.15.2 版本的虚拟机,该版本提供了缺陷修复和显著的改进,例如:对在多个设备上执行多个独立任务的最初支持,可以在多个硬件加速器上执行多任务;支持 OpenCL/PTX 和 SPIR-V 后端的三角radiancospisinpi函数;并与 ComputeAorta(Codeplay 针对 RISC-V 的oneAPI构建套件的一部分)进行初始集成,以便在 RISC-V 上以仿真模式运行矢量指令。有关该版本的更多详细信息,请参阅发布说明


曼彻斯特大学高级处理器技术研究小组副研究员Juan Fumero于 2020 年 3 月在伦敦QCon介绍了 TornadoVM,并为 InfoQ 撰写了这篇最新的技术文章

LibericaJDK


BellSoft 为 JDK 17.0.8 和 20.0.2发布Liberica Native Image Kit(NIK)的 23.0.1 版本,作为关键补丁更新(CPU)发布周期的一部分,其特性包括:对 Windows 操作系统上的 ParallelGC 的实验性支持;针对 JavaFX FXML 应用程序的编译修复;并修复了以下通用漏洞披露:CVE-2023-22043CVE-2023-22041CVE-2023-25193CVE-2023-22044CVE-2023-22045CVE-2023-22049CVE-2023-22036;和CVE-2023-22006

PrimeFaces


PrimeFaces的 13.0.0 版本已经发布,其中包括一些缺陷修复、依赖项升级,并增加了一些新特性,例如:支持SelectCheckboxMenu类中的列和页脚 facet;在InputNumber类中添加selectOnFocus()caretPositionOnFocus()方法;以及在OverlayPanel类中添加了缓存属性。需要注意的是,其存在一些破坏性变更。有关该版本的更多详细信息,请参阅发布说明

Quarkus


红帽(Red Hat)发布Quarkus 3.2.2.Final 版本,以解决 3.2.1 版本中的两个回归问题以及文档方面的改进。值得注意的变更包括:恢复到了openjdk-17-runtime:1.16镜像,因为开发分支的版本号已升至 1.17,预计下一个版本将于 2023 年 8 月发布;删除了有关quarkus.launch.rebuild属性的误报警告;并且如果 OIDC 状态 cookie 不匹配,则允许重新身份验证。有关该版本的更多详细信息,请参阅变更日志

Hibernate


Hibernate Reactive 2.0.4.Final已发布,其特性包括:对 Hibernate ORM 6.2.7.Final 的依赖升级;仅根据请求启动 Docker 容器,以确认远程数据库在执行完整构建之前已经启动;以及修复@SQLSelect注解在主实体上不起作用的问题。有关该版本的更多详细信息,请参阅发布说明

Micronaut


Micronaut Framework 4.0.2 是第二个维护版本,它提供了缺陷修复、文档改进、依赖项升级和改进,例如:在BuildTestVerifier接口中添加了版本号检查;并将异步验证移动到了处理器模块,这是因为AsyncTypeElementVisitor类被定义成了compileOnly依赖项。有关该版本的更多详细信息,请参阅发布说明


Micronaut 基金会已将其聊天社区从Gitter转移Discord,并且立即生效。该基金会表示,Discord 提供了改进的桌面应用程序体验、更好的结构化对话和增强的通知。并且鼓励 Gitter 上的开发者转移到 Discord,但该基金会将继续监控 Giter 上的对话,并提供 Discord 的链接。

JBang


JBang 0.110.0 的发布将其 Maven Central ID 从mavencentral更改为center,用于获取依赖项,以便在基于 Maven 和基于 JBang 的构建之间更好地共享下载。还修复了包含大写字母的 Maven 构件无法下载的回归问题。

JHipster


JHipster Lite0.39.0版本已经发布,其中包括了一些缺陷修复、依赖项升级和功能改进,例如:通过改进的配置增强了Logback依赖项,并且不再需要显式定义 shutdown 钩子;将getInstantOrDefault()方法添加到了JHipsterModuleProperties类中;以及在 REST 分页中将映射切换到非并行流,以确保流的顺序处理。有关该版本的更多详细信息,请参阅发布说明

JUnit


JUnit 5.10.0 已经发布,新特性包括:ModuleSelectorEngineDiscoveryListenerEngineDiscoveryRequestResolverLauncherSession@Suite等实验性 API 已经提升到稳定状态;@SelectMethod注解中的新选择器;以及一个新的LauncherInterceptor接口,用于拦截LauncherLauncherSessionListener接口实例的创建。有关该版本的更多详细信息,请参阅发布说明

Gradle


Gradle 8.3 的第二个候选版本提供了持续的改进,例如:对 JDK 20 的支持;使用工作进程将 Java 编译器作为编译器守护进程运行,从而更快地进行 Java 编译;使用Kotlin K2编译器进行实验的能力;以及改进了CodeNarc插件的输出。有关该版本的更多详细信息,请参阅发布说明


原文链接:

https://www.infoq.com/news/2023/07/java-news-roundup-jul24-2023/


相关阅读:

Java ZGC 垃圾收集器全面增强

Java 近期新闻:Jakarta EE 11 更新、Quarkus LTS、Micronaut、Foojay 顾问委员会、DevBCN、JCrete

2023-08-25 08:005393

评论

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

实现价值替代,不只是功能替代

用友BIP

国产替代

使用 INFINI Console 实现 Elasticsearch 的增量数据迁移

极限实验室

数据迁移 infini 实现原理 功能介绍 增量迁移

倒计时3天,京东技术20年实践分享邀您莅临!

京东科技开发者

京东云峰会 企业号 7 月 PK 榜

磨刀不误砍柴工,数据压缩,带来的可不止空间节省 | StoneDB数据库观察

StoneDB

数据库 数据压缩 StoneDB

低代码没有存在感?看看这七个赛道战况!

高端章鱼哥

自动化 低代码 业务自动化 机器人自动化

点云标注的挑战与未来发展

来自四九城儿

促进协作、提高生产力:育碧选择Perforce Helix Core的原因

龙智—DevSecOps解决方案

游戏开发 育碧 刺客信条

Stable Diffusion AIGC:3步成为P图大师

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

华为云开发者联盟助力培养数字化人才,加速应用构建质效提升

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 7 月 PK 榜

OpenTiny 前端组件库正式开源啦!面向未来,为开发者而生

英勇无比的消炎药

开源 Vue 前端 UI组件库 angluar

MySQL 主从延迟的常见原因及解决方法

互联网工科生

MySQL 后端

物联网开发技术 | 社区征文

DS小龙哥

年中技术盘点

国企采购堡垒机就选行云管家!优势多多!

行云管家

云计算 云安全 堡垒机 国企

合约编写基础知识介绍基础篇

BSN研习社

驱动您的在线成功:解密香港云主机的关键优势

一只扑棱蛾子

香港云主机

StoneDB 开源社区月刊 | 202301期

StoneDB

开源社区 StoneDB

IPD(集成产品开发)是什么?适合什么样的团队?

禅道项目管理

10个安全问题带你了解OWASP 定义的大模型应用

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 7 月 PK 榜

自动驾驶中的点云标注:技术与应用

来自四九城儿

大形势不好的情况下,程序员的护城河是什么?

程序员小毕

Java 程序员 互联网 后端 架构师

共探AI大模型时代下的挑战与机遇,华为云HCDE与大模型专家面对面

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

为什么 MySQL 使用 B+ 树?| StoneDB数据库观察

StoneDB

MySQL 数据库 B+树

活动回顾|阿里云 Serverless 技术实战与创新广州站回放&PPT下载

Serverless Devs

云计算 Serverless 弹性计算

OpenTiny 前端组件库正式开源啦!面向未来,为开发者而生

英勇无比的消炎药

开源 Vue 前端 UI组件库 angluar

华为开发者大会2023—我和“华为云”有个约会

华为云PaaS服务小智

云计算 华为云 华为开发者大会2023

点云标注的质量评估与优化

来自四九城儿

Midjourney最强劲的对手来临,SDXL被动开源的浪潮,AI生成图片未来可期 | 社区征文

派大星

年中技术盘点

StoneDB 源码解读系列|查询模块流程及源码介绍——StoneDB 优化器

StoneDB

数据库 StoneDB

算法总结--ST表

快乐非自愿限量之名

算法

国产替代的新领域:用友BIP积极投身信创生态建设

用友BIP

国产替代

让Jira能够按工作流配置审批规则,WorkflowWise全新功能发布

龙智—DevSecOps解决方案

Jira Jira插件 WorkflowWise

  • 扫码添加小助手
    领取最新资料包
Java近期新闻:Grails 6.0、PrimeFaces 13.0、JUnit 5.10、GraalVM、TornadoVM、新的JEP草案_编程语言_InfoQ精选文章