JAVA常见的垃圾收集器

1.Serial GC 

Serial体现在其收集工作是单线程,并且在垃圾收集时,会进入到“stop-the-world”状态,当然其单线程的设计也是意味着其精简的GC实现,无需维护复杂的数据结构,初始化简单,Client模式下JVM的默认选项。

从年代的角度来讲,又可以将其区分为老年代的Serial Old,它采用的是标记-整理算法区别于新生代的复制算法。ParNew GC则是新生代GC的实现,是多线程的Serial GC。

CMS GC是基于标记-清除算法,设计目标是尽量减少停顿的时间。但是存在内存碎片化的问题,在长时间运行过后可能会引发Full GC的恶虐停顿后果。

Parrallel GC 在早期JDK1.8等版本中,他是Server模式JVM的默认GC选择,也是被称作为吞吐量优先的GC。

G1 GC是JDK9之后的默认GC选项,G1可以直观设置停顿时间的目标,在JDK9中CMS GC已经被废弃。

posted @ 2020-10-20 13:41  gyz196  阅读(68)  评论(0)    收藏  举报