JVM学习笔记4—GC参数

堆的回顾


三种收集器

1 串行收集器

最古老,最稳定,效率高
缺点:可能产生较长的停顿
-XX:+UseSerialGC
-------新生代,老年代使用串行回收
-------新生代标记-压缩(因为新生代对象多)
-------老年代复制(老年代对象少)

2 并行收集器

注意:并行不一定快!
(1) ParNew 
--- -XX:+UseParNewGC
----------新生代并行
----------老年代串行
新生代老年代都使用复制算法,需要多核支持

(2)Parallel收集器
---------新生代复制算法
---------老年代 标记-压缩算法
-XX:+UseParallelGC
使用parallel收集器,老年代串行
-XX:+UseParallelOldGC
使用parallel收集器+并行老年代
-XX;MaxGCPauseMils
设置最大停顿时间,单位毫秒
-XX:GCTimeRatio
0-100取值范围,设置收集时间占总时间的比,默认是99,表示最大允许1%的时间做GC
注意:最后两个参数是矛盾的,因为停顿时间和吞吐量不能同时调优

3 CMS(concurrent mark sweep)收集器

-----与用户线程一起执行
-----使用标记-清除算法
-----老年代收集器(新生代使用ParNew)
----- -XX:+UseConMarkSweepGC


CMS运行过程
(1)----初始标记   标记跟直接关联的对象
(2)----并发标记(和用户线程一起)主要标记过程,标记所以对象
(3)----重新标记 由于第二步与用户线程一起运行,用此做修正
(4)----并发清理 (和用户线程一起)  清理对象,可能导致清理不干净,因为此时用户线程还在运行
所以 CMS收集器使用串行收集器作为后备



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值