JDK7的5种GC类型

SerialGC

ParallelGC

ParallelOld GC (Parallel Compacting GC)

ConcurrentMark & Sweep GC  (or “CMS”)

GarbageFirst (G1) GC

Serial GC

使用标记整理法

Serial GC不应该被用在服务器上。这种GC类型在单核CPU的桌面电脑时代就存在了。使用Serial GC会显著降低应用的性能指标

Parallel GC 


Parallel GC采用的是多线程

Parallel Old G

1.  与parallel GC相比,唯一的区别在于针对老年代的GC算法。Parallel Old GC分为三步:标记-汇总-压缩(mark– summary – compaction)。

2.  汇总(summary)步骤与清理(sweep)的不同之处在于,其将依然幸存的对象分发到GC预先处理好的不同区域。

CMS GC 


回收过程:

1.   初始化标记:只是查找那些距离类加载器最近的幸存对象。

2.   并行标记:所有被幸存对象引用的对象会被确认是否已经被追踪和校验。这一步的不同之处在于,在标记的过程中,其他的线程依然在执行。

3.   重新标记:会再次检查那些在并行标记步骤中增加或者删除的与幸存对象引用的对象。

4.   并行交换:转交垃圾回收过程处理。垃圾回收工作会在其他线程的执行过程中展开。

缺点:

1.   它会比其他GC类型占用更多的内存和CPU

2.   默认情况下不支持压缩步骤

G1 GC


1.  每个对象被分配到不同的格子,随后GC执行。

2.  当一个区域装满之后,对象被分配到另一个区域,并执行GC。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值