我是靠谱客的博主 务实乌冬面,最近开发中收集的这篇文章主要介绍JVM GC收集器-Serial,Parallel,CMS,G1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部