GC参数
串行回收器
最古老、最稳定,效率高,可能会产生较长停顿
-XX:+UseSerialGC
新生代、老年代使用串行回收。新生代复制算法,老年代标记-压缩
并行回收器—ParNew
-XX:+UserParNewGC 新生代并行,老年代串行
Serial收集器新生代的并行版本。复制算法
多线程,需要多核支持。
-XX:ParallelGCThreads 限制线程数量
并行收集器 — Parallel收集器
类似ParNew,新生代复制算法,老年代标记-压缩,更加关注吞吐量
-XX:+UseParallelGC : 使用Parallel收集器 + 老年代串行
-XX:+UseParallelOldGC : 使用Parallel收集器 + 并行老年代
-XX最大停顿时间,单位毫秒,GC尽力保证回收时间不超过设定值
-XX:GCTimeRatio :0-100的取值范围。垃圾收集时间占总时间的比。默认99,即最大允许1%时间做GC
GC很频繁,最大停顿时间变短,吞吐量变小。GC很少,最大停顿时间变长,吞吐量增大。
CMS收集器
并发标记清除。标记清除算法。并发阶段会降低吐吞量。老年代收集器(新生代使用ParNew)
-XX:+UseConMarkSweepGC
CMS运行过程比较负责,着重实现了标记过程,可分为:
初始标记:根可以直接关联到的对象,速度快。
并发标记(和用户线程一起):主要标记过程,标记全部对象
重新标记:鱼油并发标记时,用户线程依然运行,因此在正式清理前,再做修正。
并发清除:(和用户线程一起)基于标记结果,直接清理对象
还没有评论,来说两句吧...