概述
1.Serial(串行收集器)
Serial收集器是一个单线程的收集器,但它的“单线程”的意义并不仅仅是说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停其他所有的工作线程(stop the world),直到它收集结束。CPU利用率最高,停顿时间即用户等待时间比较长。
使用用法:设置JVM参数-XX:+UseSerialGC
2.Parallel( 并行/吞吐优先收集器)
并行收集器可以理解是多线程串行收集,在串行收集基础上采用多线程方式进行GC,很好的弥补了串行收集器的不足,可以大幅缩短停顿时间,因此对于空间不大的区域(如young generation),采用并行收集器停顿时间很短,回收效率高,适合高频率执行。
使用方法:设置JVM参数-XX:+UseParallelGC
3.CMS 收集器
CMS(Concurrent Mark Sweep)收集器是基于“标记-清除”算法实现的,它使用多线程的算法去扫描堆(标记)并对发现的未使用的对象进行回收(清除)。整个过程分为6个步骤,包括:
① 初始标记(CMS initial mark)
② 并发标记(CMS concurrent mark)
③ 并发预清理(CMS-concurrent-preclean)
④ 重新标记(CMS remark)
⑤ 并发清除(CMS concurren
最后
以上就是务实乌冬面为你收集整理的JVM GC收集器-Serial,Parallel,CMS,G1的全部内容,希望文章能够帮你解决JVM GC收集器-Serial,Parallel,CMS,G1所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复