深入理解java虚拟机规范:垃圾回收器

Serial

新生代收集器

复制算法

运行在 Client 模式下

ParNew

Serial 收集器的多线程版本

新生代收集器

多运行在 Server 模式下

可与 CMS 收集器工作配合( Serial 收集器亦可)

Parallel Scavenge

新生代收集器

也使用复制算法

两个参数控制吞吐量:

    -XX:MaxGCPauseMillis 控制最大垃圾收集停顿时间 大约0的毫秒数

    -XX:GCTimeRatio      设置吞吐量大小           大约0 小于100的整数

开关参数 -XX:+UseAdaptiveSizePolicy

Serial Old

Serial 收集器的老年代版本

使用 "标记-整理" 算法

多用于 Client 模式下

在 Server 模式下的两大用途:

    1.在JDK1.5及之前的版本中,与 Parallel Scavenge 收集器搭配使用

    2.作为CMS收集器的后备方案,在并发收集发生 Concurrent Mode Failure 时使用

Parallel Old

Parallel Scavenge 收集器的老年代版本 

多线程

使用 "标记-整理" 算法

CMS

初始标记 

并发标记

重新标记

并发清楚

使用 "标记-清楚" 算法

对 CPU 敏感

无法处理 '浮动垃圾'

会产生大量空间碎片

G1

初始标记

并发标记

最终标记

筛选回收
发布了233 篇原创文章 · 获赞 1 · 访问量 9175

猜你喜欢

转载自blog.csdn.net/qq_37769323/article/details/104257356
今日推荐