写点什么

JEP423:G1 引入区域固定机制,降低 GC 延迟

  • 2024-01-05
    北京
  • 本文字数:855 字

    阅读完需:约 3 分钟

大小:442.91K时长:02:31
JEP423:G1引入区域固定机制,降低GC延迟

在评审结束后,JEP 423(Region Pinning for G1)已经被集成到 JDK 22 中。这个 JEP 旨在通过为G1垃圾回收器实现区域固定来降低 GC 延迟。这使得在 Major GC 和 Minor GC 期间可以固定任意区域,并且可以避免在实现 JNI 关键区域时禁用垃圾回收。


JEP 423 解决了 Java 与 C 和 C++等非托管语言之间的互操作性问题。JNI,作为互操作性的关键组件,允许 Java 应用程序调用其他语言编写的原生应用程序和库,或反过来。它提供了获取和释放Java对象指针的函数,这些函数必须成对使用。在获取和释放指针之间执行的代码被视为关键区域,在此期间,JVM 必须确保 GC 不移动关联的 Java 对象。默认的 GC,即 G1,在这些关键区域中会完全禁用垃圾回收,导致严重的延迟。这种方法通常会导致线程停滞、不必要的内存耗尽,甚至在极端情况下会导致 VM 过早关闭。


G1 引入区域固定从根本上改变了这种方式。JEP 423 允许 G1 在 GC 期间固定包含关键对象的特定内存区域,而不是禁用GC。这是通过在每个区域中维护关键对象的计数来实现的,在获取关键对象时增加计数,在释放时减少。当计数非零时,该区域被视为被固定,不会在 GC 期间被清理。这确保了关键对象不会被移动,避免了禁用 GC,并显著降低了延迟。


这个新特性是 Java 垃圾回收机制的一项重大进步。它旨在解决延迟问题,并在没有活动的 JNI 关键区域存在时保证 GC 停顿时间不出现回归。即使存在这样的区域,回归也是最小的。在 Major GC 和 Minor GC 期间实现区域固定证明了这种解决方案的健壮性。


不过,JEP 423 也存在潜在的风险和假设。一个重大风险是,如果应用程序同时固定多个区域,可能会导致堆内存耗尽。虽然目前没有直接解决方案,但从已经实现了类似机制的Shenandoah GC 来看,这种风险是可控的。


总的来说,JEP 423 为 OpenJDK 的 G1 垃圾回收器引入了重大的技术增强。区域固定特性解决了与 Java 本地接口(JNI)关键区域相关的延迟问题,改进了 JVM 在与非托管语言发生互操作时的垃圾回收处理。这表明了 OpenJDK 在努力完善和优化 Java 性能和互操作性能力方面所做的持续不断的努力。


原文链接

https://www.infoq.com/news/2023/12/region-pinning-to-g1-gc/

2024-01-05 08:005917

评论 1 条评论

发布
用户头像
这是机器翻译吗?
2024-01-05 14:42 · 湖北
回复
没有更多了
发现更多内容

大数据-125 - Flink 实时流计算中的动态逻辑更新:广播状态(Broadcast State)全解析

武子康

Java 大数据 flink spark 分布式

5个理由选择YashanDB用于您的项目

数据库砖家

5个提升YashanDB安全性的重要措施

数据库砖家

5项指标助您评估YashanDB数据库的性能

数据库砖家

黑龙江 2025 年二级等保测评备案流程与测评标准解析

等保测评

5个关键指标评估YashanDB数据库的表现

数据库砖家

5个决策帮助选择合适的YashanDB数据库配置

数据库砖家

5个实用的技巧,可以有效提升YashanDB的安全性和隐私

数据库砖家

5个最常见的YashanDB数据库配置误区

数据库砖家

面向企业构建科学完善的财务报告解决方案

智达方通

企业管理 全面预算管理 财务管理

5个关键指标衡量YashanDB的数据库表现

数据库砖家

5个有效方法提升YashanDB数据库的安全性

数据库砖家

哈尔滨等保测评费用补贴与新兴技术合规要求(2025 版)

等保测评

5个理由使用YashanDB驱动业务增长

数据库砖家

区块链技术解决跨境交易的核心问题

北京木奇移动技术有限公司

区块链技术 软件外包公司 跨境交易

5个提升YashanDB用户体验的关键建议

数据库砖家

5个影响YashanDB数据库性能的关键因素

数据库砖家

5个关键指标评估YashanDB数据库性能表现

数据库砖家

5个实用技巧优化YashanDB数据库的存储管理

数据库砖家

5个应对YashanDB升级挑战的策略

数据库砖家

5种方式提升YashanDB的使用体验

数据库砖家

6个常见错误避免在YashanDB数据库管理中出现

数据库砖家

5个原因选择YashanDB支持您的企业增长

数据库砖家

5个主要因素影响YashanDB的选择

数据库砖家

5种方式提升YashanDB数据库的查询速度

数据库砖家

5个关键因素决定YashanDB数据库的选择

数据库砖家

5个关键因素助您成功实施YashanDB数据库

数据库砖家

CST多物理场分析的应用-CST软件达索官方代理

思茂信息

cst CST软件 CST Studio Suite

5个实用建议帮助您快速上手YashanDB

数据库砖家

超越环保:零碳园区的经济与社会价值论

西格电力

绿色低碳 新能源 能源经济 零碳园区 低碳转型

驳“AI 泡沫论”:一场被误读的、正在进行中的产业结构性调整

Baihai IDP

人工智能 AI AIGC LLM AI泡沫

JEP423:G1引入区域固定机制,降低GC延迟_编程语言_A N M Bazlur Rahman_InfoQ精选文章