Redian新闻
>
Java ZGC 垃圾收集器全面增强

Java ZGC 垃圾收集器全面增强

科技

作者 | A N M Bazlur Rahman
译者 | 平川
策划 | 丁晓昀

在 JDK 21 中,JEP 439(分代 ZGC)从 Targeted 状态提升到 Completed 状态。该 JEP 建议,扩展 Z Garbage Collector(ZGC),为年轻对象和老对象维护单独的代,从而提高应用程序的性能。这将使得 ZGC 可以更频繁地收集趋于早亡的年轻对象。

Z Garbage Collector 专为低延迟和高可扩展性而设计,从 JDK 15 开始就可用于生产环境。它的大部分工作都是在应用程序线程运行过程中完成的,只会短暂中断这些线程。ZGC 的暂停时间以微秒为单位进行持续的测量,这使得它成为低延迟、高可扩展工作负载的首选。

新一代 ZGC 旨在降低分配停顿的风险,减少所需的堆内存开销,并减少垃圾收集的 CPU 开销。与非分代 ZGC 相比,这些优点预计并不会显著降低吞吐量。非分代 ZGC 的基本性质保持不变,如暂停时间不超过 1 毫秒,支持的堆大小从几百 MB 到许多 TB。

分代 ZGC 基于弱分代假说,即年轻对象往往会在年轻时死去,而老对象往往会保留下来。通过更频繁地收集年轻对象,ZGC 可以提高应用程序的性能。

最初,分代 ZGC 与非分代 ZGC 是一起提供的。用户可以在-XX:+UseZGC命令行选项中添加-XX:+ZGenerational选项,以选择 Generational ZGC。在未来的版本中,分代 ZGC 将成为默认选项,最终,非分代 ZGC 将被删除。

$ java -XX:+UseZGC -XX:+ZGenerational ...

新的分代 ZGC 将堆划分为两个逻辑代:年轻代用于最近分配的对象,老年代用于长期对象。每个代独立收集,让 ZGC 可以专注于收集有利可图的年轻对象。

分代 ZGC 引入了多个使其不同于非分代 ZGC 和其他垃圾收集器的设计概念,包括无多重映射内存、优化屏障、双缓冲记忆集、无追加堆内存重定位、密集堆区域、大对象和完整垃圾收集。

分代 ZGC 的引入可以大幅提升在 Java 平台上运行应用程序的性能。通过更频繁地收集年轻对象,分代 ZGC 可以带来更低的延迟、更少的内存开销和更高的 CPU 利用率。这使得它在大多数用例中都成为比非分代 ZGC 更好的解决方案。

它引入了一个更复杂的系统。该系统在加载和存储屏障中使用了显式代码,并且并发运行两个垃圾收集器。新系统不使用多重映射内存,使用户更容易测量堆内存的使用情况,并可能将最大堆大小增加到超过非分代 ZGC 的 16TB 限制。加载和存储屏障使用快速路径和慢速路径、记忆集屏障、SATB 标记屏障、融合存储屏障检查和存储屏障缓冲等技术进行了优化。分代 ZGC 还引入了双缓冲记忆集,用于准确跟踪代际指针,并允许重定位,而且不需要额外的堆内存,进而实现高效的年轻代收集。该系统还可以很好地处理大对象,允许将它们分配给年轻代,而如果它们的寿命比较长,就将它们提升到老年代。完整垃圾收集将年轻代对象指向老年代对象的指针视为老年代对象图的根。

总之,OpenJDK 中的分代 ZGC 实现引入了一个更为复杂的系统,它并发运行两个垃圾收集器,并使用更复杂的屏障和染色指针(coloured pointer)。尽管复杂,但长期目标是用分代版本完全替换非分代 ZGC,以最小化维护成本。虽然大多数用例都有望从分代 ZGC 中受益,但一些非分代工作负载可能会出现轻微的性能下降。不过,因为不必频繁地收集老年代的对象,所以可以认为潜在的开销已被抵消。分代 ZGC 未来的改进和优化将由基准测试和用户反馈所驱动。分代 ZGC 的引入是提高 Java 平台应用程序性能的重要一步。

原文链接:

https://www.infoq.com/news/2023/07/java-enhance-zgc/

相关阅读:

Java 近期新闻:Micronaut 4.0、Payara 平台、Spring Web Flow 3.0、JetBrains AI 助手 (https://www.infoq.cn/article/IB9Yr9uBTePgDazjaiJq)

Java 新特性完整指南:Switch 模式匹配 (https://www.infoq.cn/article/iOAJIJop5bKQflD0lF9A)

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

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

今日好文推荐

我的20年职业生涯:全是技术债

中国最大公有云服务商,如何从零开始构建一支云效团队

工信部要求所有 App、小程序备案;某国产电商被提名 Pwnie Awards “最差厂商奖”;阿里财报超预期 | Q资讯

谷歌的反“背锅”文化

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

戳这里提交新闻线索和高质量文章给我们。
相关阅读
神器还是垃圾?那些用AIGC编程的人,实践得怎么样了2023 年,那些真香的“洋垃圾” 真的快要成为垃圾了。。。纽约餐饮业实施垃圾收集新规,这是需要知道的 I 指南悉尼垃圾工人多次罢工,街道垃圾箱“爆满”!居民怨声四起,投诉无果麻州新法:扩大规模收集种族和族裔数据来协调企业扩张!是全国同类行动中最全面的州级行动,有助提高对人口多样化需求和挑战的理解!“像垃圾填埋场”,节后太浩湖垃圾逾8000磅沙漠里的精彩lulu折扣区更新了,大量scuba(绿金、Java)define打折,Blissfeel 运动鞋黑色才79中国大爷大妈挨家翻垃圾,收集瓶罐,登上加拿大社交媒体,屡次警告,屡次再犯…人生若只如初见(六)¥200-¥1500手机稳定器全系推荐与选购指南!蚂蚁集团(支付宝)被罚71.23亿|费城夫妻被枪杀,枪手开了15枪|VCURC充电器全球召回别丢人了,好好丢垃圾!幸福堂不幸福,全是垃圾要收拾!神器还是垃圾?那些用 AIGC 编程的人,实践得怎么样了及时止损还是凑合一生突发!美国航司单方面增加中美航班,将超每周24班大限!中国航司怎么办?机票价格跳水...悉尼知名海滩成垃圾场!长周末数万游客留下大量垃圾,附近居民表示强烈不满全面增航!加拿大回国直飞这两地一天一班!网友查完票价后惊呆了...【提示】野餐垃圾该如何分类?简单易学的垃圾分类方法来了→1个垃圾桶100多刀!7个被偷3个!华人餐饮业抗议有盖垃圾桶新规中日之间的一些事亚毫秒GC暂停到底有多香?JDK17+ZGC初体验黑熊两度入室!翻倒垃圾箱 偷走厨余垃圾!纽约继续灭鼠,明年起商家垃圾须入带盖垃圾桶“增强CT辐射更大?为何我的病情得去做增强的?”留学生就高人一等!高校惊现外国留学生“专用”垃圾桶,扔垃圾也分三六九等?华人女房东傻眼:出租房变大型垃圾场,20多袋垃圾发恶臭,满屋狗屎Scuba Oversized Java: 全拉链带帽 vs 半拉链立领荷顿区全面更新垃圾桶!推出自动化垃圾收集,更安全成本更低!辣评-Weekly:中国两个战略性空间基础设施;消费级“卫星通话”;印度与俄罗斯,一成一败;太空垃圾清除任务遭到太空垃圾袭击ZGC关键技术分析日本富家女住在垃圾屋?每月收租50万却与垃圾山同吃住,人生经历太唏嘘…为除鼠患 餐饮业垃圾7月底起须放入有盖垃圾桶4:0!国足赢了!变废为宝!奥克兰推出全新迷你垃圾桶,专门收集食物残渣!以后收垃圾请注意这些...恶心 ◇ 华人女房东傻眼:出租房变大型垃圾场,20多袋垃圾发恶臭,满屋狗屎全面增航!往返国内机票暴跌?!温哥华直飞国内竟然只需727!官宣:10年多次签证可补偿3年!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。