你知道哪几种垃圾收集器,各自的优缺点?

回眸只為那壹抹淺笑 提交于 2021-01-12 18:04:03

几种垃圾收集器: 

Serial收集器:单线程的收集器,收集垃圾时,必须stoptheworld,使用复制算法。

 

ParNew收集器:Serial收集器的多线程版本,也需要stoptheworld,复制算法。

 

ParallelScavenge收集器:新生代收集器,复制算法的收集器,并发的多线程收集器,目标是达到一个 可控的吞吐量。如果虚拟机总共运行100分钟,其中垃圾花掉1分钟,吞吐量就是99%。

 

SerialOld收集器:是Serial收集器的老年代版本,单线程收集器,使用标记整理算法。

 

ParallelOld收集器:是ParallelScavenge收集器的老年代版本,使用多线程,标记-整理算法。

 

CMS(ConcurrentMarkSweep)收集器:是一种以获得最短回收停顿时间为目标的收集器,标记清除算法,运作过程:初始标记,并发标记,重 新标记,并发清除,收集结束会产生大量空间碎片。

 

G1收集器:标记整理算法实现,运作流程主要包括以下:初始标记,并发标记,最终标记,筛选标记。不会产生空间碎片,可以精确地控制停顿。

 

CMS收集器和G1收集器的区别:CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收 集器一起使用;G1收集器收集范围是老年代和新生代,不需要结合其他收集器使用;

 

CMS收集器以小的停顿时间为目标的收集器;G1收集器可预测垃圾回收的停顿时间CMS收集器是使用“标记-清除”算 法进行的垃圾回收,容易产生内存碎片G1收集器使用的是“标记-整理”算法,进行了空间整合,降低了内存空间碎片。

 

小程序→IT面试题练习:一个可以充电的面试题库。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!