名称 | 算法 | 特点 | 线程 |
---|---|---|---|
serial | stop the world | 在进行收集垃圾时,必须stop the world,它是虚拟机运行在Client模式下的默认新生代收集器 | 单 |
serial old | mark-sweep | serial 老年代 | 单 |
ParNew | stop the world | 是Serial收集器的多线程版本,许多运行在Server模式下的虚拟机中首选的新生代收集器,除Serial外,只有它能与CMS收集器配合工作。 | 多 |
Parralell Scavenge | copy | 也是新生代收集器,使用复制算法又是并行的多线程收集器,它的目标是达到一个可控制的运行用户代码跟(运行用户代码+垃圾收集时间)的百分比值。 | 多 |
Parralell Old | mark-sweep | Parallel Scavenge收集器的老年代版本 | 多 |
CMS | mark-sweep | 是一种以获得最短回收停顿时间为目标的收集器,基于标记清除算法。过程如下:初始标记,并发标记,重新标记,并发清除,优点是并发收集,低停顿,缺点是对CPU资源非常敏感,无法处理浮动垃圾,收集结束会产生大量空间碎片。 | 多 |
G1 | mark-sweep | 不会产生空间碎片,可以精确地控制停顿,将堆划分为多个大小固定的独立区域,并跟踪这些区域的垃圾堆积程度,在后台维护一个优先列表,每次根据允许的收集时间,优先回收垃圾最多的区域(Garbage First)。 | 多 |
七种JVM收集器比较
最新推荐文章于 2022-03-16 16:14:43 发布