JVM(五) 常见的垃圾回收器

一、常见的垃圾回收器
1, Serial 单线程,新生代,复制
在这里插入图片描述

2, ParNew 多线程(减少了垃圾回收的时间 复制)
-XX:MaxGCPauserMillis 设置最大垃圾收集停顿时间
-XX:ParallelGCThreads:设置用于垃圾回收的线程数 GC线程数

3, Parallel Scavenge (复制)
跟2差不多,但关注点不一样。它关注的是吞吐量
吞吐量= 运行用户代码时间 / (用户 + GC)
-XX:MaxGCPauserMillis 设置最大垃圾收集停顿时间(没啥用)
-XX:GCTimeRatio:设置吞吐量的大小,它的值是一个0到100的整数,系统花费不超过1/(1+n)的时间用于垃圾收集,默认99

4,CMS Concurrent Mark Sweep 标记清除(有碎片,cpu占用率高)
在这里插入图片描述
初始标记:快, GC Root直接关联的对象
并发标记: GC Root Tracing
重新标记:修正并发标记中用户程序继续运行产生变动的那一部分
并发清除:清除不是整理,有碎片。

5, G1 (老大)
在这里插入图片描述

实际JVM的垃圾回收器是一个组合应用的
在这里插入图片描述

二、什么时间节点回收
1,GC Roots 枚举效率
2,安全点(方法调用, 循环跳转,异常跳转…)
3,安全域 (不懂)
-XX:+PrintGCDetails 显示GC的详细信息
-XX:+PrintGCApplicationConcurrentTime 打印应用执行的时间
-XX:+PrintGCApplicationStoppedTime 打印应用被暂停的时间

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值