写点什么

JEP 474:分代式现已成为 Java 中 ZGC 的标准

  • 2024-07-04
    北京
  • 本文字数:805 字

    阅读完需:约 3 分钟

大小:420.02K时长:02:23
JEP 474:分代式现已成为 Java 中 ZGC 的标准

JEP 474(ZGC:默认分代式)以 JDK 23 为目标。该 JEP 建议将 Z 垃圾收集器(ZGC)的默认使用模式从非分代式改为分代式。非分代式将被弃用,并在未来的 JDK 版本中删除。这将彻底降低维护这两种模式的成本,让未来的开发工作可以集中在 JEP 439(分代式 ZGC)上。


JEP 474 中最主要的变化大概就是将 ZGenerational 选项的默认值从 false 改为 true,明确表明了 Java 的内存管理方式发生了战略性变化,尤其是在为 Java 应用程序提供更多“空闲”内存和更低的 GC 开销的基础上优化了垃圾回收。


将默认选项过渡到分代式是希望能借此减少同时支持分代式和非分代式的维护工作,从而允许 OpenJDK 团队会将分代式 ZGC 变得更为高效且有效,以应对外界对现代 Java 应用程序的期望。开发者需注意,非分代模式虽仍可用但已被弃用,因此在通过命令行选项明确启用非分代式时会出现警告。非分代式被弃用的事实意味着它在未来将会被移除。


下面这些常用命令行参数:

  • -XX:+UseZGC:现默认使用分代式 ZGC

  • -XX:+UseZGC -XX:+ZGenerational:同样是使用分代式 ZGC 但对 ZGenerational 标志发出弃用警告。

  • -XX:+UseZGC -XX:-ZGenerational:使用非分代式 ZGC,但对 ZGenerational 标志发出弃用警告,并提示非分代式已被弃用且将被移除。


开发者需对自己的应用程序进行测试,以确保其在新默认设置下的兼容性和性能。如果应用程序与 JVM 有紧密集成,且对垃圾回收非常敏感,那么其性能可能会发生变化。


OpenJDK 的测试承诺中包括确保现有配置和基准在新默认设置下的性能符合预期。对多数应用程序来说风险较低,但部分高性能或低延迟应用程序可能会需要对配置进行调整。


JEP 474 标志着 Java 持续发展过程中的一次关键更新,意图简化并改进垃圾回收的过程,并重点关注分代式技术。此次更新需要开发者重新评估其应用程序的兼容性和性能,但从长远来看,这次 JEP 有望能更高效地管理 Java 应用程序。


原文链接

JEP 474: Generational Mode Now Standard for ZGC in Java

2024-07-04 08:004907

评论

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

架构师训练营week1-学习记录

lijia_toby

极客大学架构师训练营

架构学习

飞飞

极客大学架构师训练营 作业

食堂就餐卡系统设计

架构homework1

蜡笔小晗

架构学习之架构图设计(1)

Paula_l

第一周架构训练营(就餐卡系统)

Gavin

第一周作业二:学习总结

iHai

极客大学架构师训练营

脑子不够怎么学架构

紫极

闲谈 极客大学架构师训练营

架构师训练营 第1周作业

Lingjun

极客大学架构师训练营

架构师第一课学习总结

曾祥斌

食堂就餐卡系统架构设计⽂档

一点点..

食堂就餐卡系统设计

atlasman

架构师训练营(第1周作业)

李德政

极客大学架构师训练营

就餐卡系统设计

dongge

食堂就餐卡系统设计

谭焜鹏

食堂就餐卡系统设计

周冬辉

架构师课程第一周总结

dongge

第一周学习总结

Gavin

【Week01】架构师如何做架构

Aldaron

食堂就餐卡系统设计

豌豆爸比

架构师赋能

will

架构师

食堂就餐卡系统设计

Aldaron

架构师训练营-作业一

Jemmy

架构师训练营第一周作业

fenix

就餐卡系统架构文档

Geek_bobo

食堂就餐卡系统设计

Ph0rse

极客大学架构师训练营

食堂就餐卡系统设计

桔子

【极客大学】【架构师训练营】【第一周】学习总结:如何使用UML图达成设计意念

NieXY

极客大学架构师训练营

如何编写一份合格的架构设计文档(一)

izerone

【极客大学】【架构师训练营】【第一周】 食堂就餐卡系统设计

NieXY

极客大学 极客大学架构师训练营

架构师第一周学习小结

K先生

JEP 474:分代式现已成为 Java 中 ZGC 的标准_编程语言_A N M Bazlur Rahman_InfoQ精选文章