JVM各个垃圾收集器区别

/ java / 1 条评论 / 240浏览

默认回收器

所有垃圾回收器的特点

Serial


ParNew


Parallel Scavenge


Serial Old


Parallel Old


CMS

② 并发标记,GC Roots Tracing,时间长,不停止用户进程

③ 重新标记,Stop the World,修正并发标记期间因用户程序继续运行导致标记变动的那一部分对象的标记记录,时间长,但远比并发标记时间短

④ 并发清除,清除的同时用户进程会导致新的垃圾,时间长

② 无法处理浮动垃圾,清除时产生新垃圾

③ 由于使用标记清除,故有空间碎片 请输入图片描述


G

① 新生代和老年代不再物理隔离,都属于一部分Region的集合,将堆分为大小相等的Region。

② G1跟踪各个Region垃圾的价值大小以及回收需要时间维护一个Region优先列表,每次先回收价值最大的Region,这是G1-Garbage First名字的由来

③ G1运作分四个阶段,三次标记一次回收

     初始标记,并发标记,最终标记,筛选回收 请输入图片描述

分类

根据线程分类

单线程

ParNew、Parallel Scavenge、Parallel Old、CMS、G1

多线程

Serial、Serial Old

根据年代分类

新生代

Serial、ParNew、Parallel Scavenge

老年代

Serial Old、Parallel Old、CMS

新生代、老年代

G1

根据算法分类

复制

Serial、ParNew、Parallel Scavenge

标记清除

CMS

标记整理

Serial Old、G1、Parallel Old

  1. 谢谢分享,谢谢分享

    回复