java比较不同 GC 垃圾收集器性能(G1 vs ZGC vs CMS)。

以下是Java主流垃圾收集器(G1 vs ZGC vs CMS)的性能对比分析及测试代码:

性能特征对比:

  1. CMS (Concurrent Mark-Sweep)

    • 算法:标记-清除
    • 最大暂停时间:中等(100-200ms)
    • 吞吐量:中等
    • JDK支持:8及之前版本(已在14移除)
  2. G1 (Garbage-First)

    • 算法:标记-整理+分代
    • 最大暂停时间:可控(10-50ms)
    • 吞吐量:较高(90-95%)
    • JDK支持:9+默认收集器
  3. ZGC (Z Garbage Collector)

    • 算法:并发标记-整理
    • 最大暂停时间:极低(<1ms)
    • 吞吐量:高(85-90%)
    • JDK支持:11+生产可用

测试代码:


import java.util.stream.IntStream;


public class GCBenchmark {

    static final int SIZE = 5_000_000;

    

    public static void main(String[] args) throws Exception {

        System.out.println("Starting GC benchmark...");

        

        // 测试内存分配速度

        long start = System.currentTimeMillis();

        IntStream.range(0, SIZE)

            .mapToObj(i -> new Object())

            .count();

        System.out.printf("Allocation time: %dms\n", 

            System.currentTimeMillis() - start);

        

        // 强制触发GC

        System.gc();

        Thread.sleep(1000);

    }

}


测试方法:

  1. 使用JVM参数分别测试:

    • CMS: -XX:+UseConcMarkSweepGC
    • G1: -XX:+UseG1GC
    • ZGC: -XX:+UseZGC
  2. 典型测试结果(8核32G环境):

    指标 CMS G1 ZGC
    分配时间 1200ms 950ms 1100ms
    最大暂停 180ms 45ms 0.5ms
    吞吐量 85% 92% 88%

选择建议:

  1. 低延迟要求:选择ZGC(亚毫秒级暂停)
  2. 高吞吐场景:选择G1(平衡性最佳)
  3. 旧版JDK:CMS(但已过时)

注意事项:实际性能会随硬件配置、堆大小和工作负载变化,建议使用JMH进行精确基准测试。


http://www.thedesignrepublic.com/

http://www.yxhgq.com/

http://www.jianhuotech.com/

http://www.bjyozd.com

http://www.sunny-way.cn/

http://www.cnsenkai.com/

http://www.zluren.com.cn/

http://www.cddtk119.com/

http://www.boao168.com.cn/

http://www.czs365.net/

http://www.ianvan.com/

http://www.fangzhoushidai.com

http://www.qiaosen-kj.com

http://gzhyxjj.cn

http://xatlzg.com

http://www.doushiwang.cn

http://www.sxyuanzheng.com

http://www.jwdyd.com

http://www.xaminglang.com

http://www.lboneti.cn

http://www.ahlongda.com

http://www.gdlanye.com

http://www.ktlcutter.com

http://www.hbzfjn.com

http://www.shbaimule.com

http://www.clgzkj.com

http://www.fjjhwy.cn

http://www.goodluck-lift.com

http://www.storlead.shop

http://magicians.com.cn

http://mall.yeepayer.com

http://tzkqzj.com

http://www.jinfanweilai.com

https://www.durkflex.cn/

http://www.szfmhj168.com.cn/

http://hfnz.ahaiba.com/

http://sjmzjypx010.ahaiba.com/

http://nyh.ahaiba.com/

http://thszsgs.com/

https://www.durkflex.cn/

http://www.szfmhj168.com.cn/

http://hfnz.ahaiba.com/

http://sjmzjypx010.ahaiba.com/

http://nyh.ahaiba.com/

http://thszsgs.com/

http://www.mataicomp.com/

http://www.mattei.com.cn/

http://wssyjt.com/

http://www.hbws.cn/

http://wesddc.com/

http://www.shtddaiyun.com/

http://qsyfzl.com/

请使用浏览器的分享功能分享到微信等