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

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

科技

作者 | Michael Redlich
译者 | 刘雅梦
策划 | 丁晓昀
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 8313278,Java 虚拟机预先编译(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 2 1早期访问构建版本的第 33 版已于上周发布,其中包括第 32 版中各种问题的修复和更新。有关该版本的更多详细信息,请参阅发布说明。

JDK 22

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

对于 JDK 22 和 JDK 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+9 和 17.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 Commons 中ServiceInstanceListSupplier接口的委托进行重试感知负载均衡;改进了在 Spring Cloud Stream 中加载共享 bean 的异常处理;Spring Cloud OpenFeign 和 Spring Cloud Netflix 分别升级到 Feign 12.4 和 Eureka 2.0.1。该最新版本基于 Spring Boot 3.0.9 构建。需要注意的是,其子项目:Spring Cloud CLI、Spring Cloud for Cloud Foundry 和 Spring 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-34034,WebFlux 安全绕过无前缀的双通配符模式,这是一个漏洞,在 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-22043;CVE-2023-22041;CVE-2023-25193;CVE-2023-22044;CVE-2023-22045;CVE-2023-22049;CVE-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 Lite 的 0.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 垃圾收集器全面增强 (https://www.infoq.cn/article/ClW8eLeOxRUqqpHWOJCC)

Java 近期新闻:Jakarta EE 11 更新、Quarkus LTS、Micronaut、Foojay 顾问委员会、DevBCN、JCrete(https://www.infoq.cn/article/8SrWrwKkQYgLD2q5AQr8)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

比 GitHub Copilot 更强大?Meta 开源 AI 编码工具,能跨多语言补全和调试代码

大厂公敌“李跳跳”无限期停止更新;国产集成开发环境工具 CEC-IDE 引关注;华为辟谣网传3.2万名科学家正式移籍 | Q资讯

七年没能将 Python 集成到 Excel,Python 之父加入微软三年后成了!

全行业视频化时代的技术革新:开源后的 BMF,将为视频处理领域带来哪些影响?

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
人事五则|Dior任命传讯总监,Guess联合创始人退休;Salomon、Interparfums、Jumeirah等管理层变动Java 近期新闻:JNoSQL 1.0、Liberica NIK 23.0、Micronaut 4.0-RC2、KCDC地铁2、10、17号线今晚定点加开,1、7、8、9、10、13号线今明将实施延时运营【报名】海狸学院2024 MIT PRIMES/PRIMES USA申请辅导项目1200只ESG基金花170亿美金买LVMH,财务回报大于奢牌「原罪」|氪金·ESG新网络、新算力、新数据、新设施、新终端!上海发布进一步推进新型基础设施建设行动方案(2023-2026年)现阶段乌军的作战思想谷歌推出 3个新的云存储选项:Cloud Storage FUSE、Parallelstore 和 NetApp Volumes精选DS岗位 | IBM、Google、Tesla公司岗位发布!FJ issues report on 130 provincial key projects in XM赢与输加拿大日多伦多有了一位华裔女市长王逢陈、Pronounce 、尤目、Songmont 等42条中国设计师品牌最新动态【华丽志中国设计师品牌月度观察】第十期地铁弄手机,易疑是痴汉MGM、MolGPT、PAR、Uni-Mol、K-Bert、MolCLR…你都掌握了吗?一文总结生物制药必备经典模型(三)元初好時光 Sunny Times Jul 21-27【项目辅导 】惠宜教育MIT PRIMES/PRIMES USA 2024申请辅导精选DS岗位 | Bill.com、IBM、Intel公司岗位发布!精选DS岗位 | Blend360、Garmin、Salesforce公司岗位发布!Half of China’s Gig Work Seekers Have Undergrad Degrees: ReportJava近期新闻:JDK 22 发布时间表、巴比伦项目、Helidon 4.0-RC2、MicroProfile 6.1-RC1XM announces plans to become model city for express deliveryAmEx refer 功能突然消失现象及解决方案【更新:大部分卡恢复refer了,但Gold/BCE又不行了】Java 近期新闻:外部函数和内存 API、OpenJDK JEP、Apache Tomcat CVE元初好時光 Sunny Times Jul 14-20LVMH集团掌门人 Arnault 访问两家意大利配件工厂,或将有新的收购举动𝐂𝐚𝐥𝐧𝐢𝐊𝐞𝐚𝐧双皮奶内衣裤,软弹有度,上身0束缚~究竟应该说someone faces problems还是problems face someone?挪威阿尔塔(Alta),海边徒步AmEx Refer Jail (AmEx refer 功能突然消失)现象及解决方案【更新:恢复了!】精选DS岗位 | Google、IBM、Pinterest公司岗位发布!精品投行 | Jefferies(HK)2024 Equities Research 暑期实习已开,专业不限全球最大科技展美国 CES 2024 展位火热预定中!聚焦新产品、新技术、新趋势,促成合作麦肯锡推荐!2023夏日书单发布,IBM、Google创始人都在看…一文掌握RDMA、NVMe和NVMe-oF
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。