垃圾回收器
概述
垃圾收集器分类:
-
按线程数分(垃圾回收线程数),可以分为串行垃圾回收器和并行垃圾回收器
-
除了 CMS 和 G1 之外,其它垃圾收集器都是以串行的方式执行
-
-
按照工作模式分,可以分为并发式垃圾回收器和独占式垃圾回收器
-
并发式垃圾回收器与应用程序线程交替工作,以尽可能减少应用程序的停顿时间
-
独占式垃圾回收器(Stop the world)一旦运行,就停止应用程序中的所有用户线程,直到垃圾回收过程完全结束
-
-
按碎片处理方式分,可分为压缩式垃圾回收器和非压缩式垃圾回收器
-
压缩式垃圾回收器在回收完成后进行压缩整理,消除回收后的碎片,再分配对象空间使用指针碰撞
-
非压缩式的垃圾回收器不进行这步操作,再分配对象空间使用空闲列表
-
-
按工作的内存区间分,又可分为年轻代垃圾回收器和老年代垃圾回收器
GC 性能指标:
-
吞吐量:程序的运行时间占总运行时间的比例(总运行时间 = 程序的运行时间 + 内存回收的时间)
-
垃圾收集开销:吞吐量的补数,垃圾收集所用时间与总运行时间的比例
-
暂停时间:执行垃圾收集时,程序的工作线程被暂停的时间
-
收集频率:相对于应用程序的执行,收集操作发生的频率
-
内存占用: