前言
关于各GC间对比的官网描述
- Parallel GC 只能作为一个整体来压缩和回收老年代的空间。G1 逐渐将这项工作分布到多个更短的集合中。这会以潜在的吞吐量为代价大大缩短暂停时间。
- G1 并发执行部分老年代空间回收。
- G1 可能表现出比上述收集器更高的开销,由于其并发性质而影响吞吐量。
- ZGC 的目标是非常大的堆,旨在以更高的吞吐量为代价提供更短的暂停时间。
吞吐量
目前来说,在不设置期望停顿时间(Critical Throughput)时,Parallel Scavenge的吞吐量最大,因为Parallel Scavenge基于标记-复制算法实现,侧重于吞吐量。但是即使在这种情况下ZGC依然达到了以高吞吐量为目标的Parallel Scavenge的99%,直接超越了G1。
在设置了期望停顿时间时(比如10毫秒到100毫秒),ZGC的表现反超了Parallel Scavenge收集器
数据见图
停顿时间
而在ZGC的强项停顿时间测试上,它就毫不留情地与Parallel Scavenge、Gl拉开了两个数量级的差距。不论是平均停顿,还是95%停顿、99%停顿、99.9%停顿,抑或是最大停顿时间,ZGC均能毫不费劲地控制在十毫秒之内,以至于把它和另外两款停顿数百近千毫秒的收集器放到一起对比。
数据见图
测试数据
图示来自于 http://spec.org/jbb2015
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/206314.html