垃圾收集器
垃圾收集器分类
按线程数分
按线程数分(垃圾回收线程数):可以分为串行垃圾回收器和并行垃圾回收器。
串行
指的是在同一时间段内只允许有一个CPU用于执行垃圾回收操作,此时工作线程被暂停,直至垃圾收集工作结束。在诸如单CPU处理器或者较小的应用内存等硬件平台不是特别优越的场合,串行回收器的性能表现可以超过并行回收器和并发回收器。所以,串行回收默认被应用在客户端的Client模式下的JVM中在并发能力比较强的CPU上,并行回收器产生的停顿时间要短于串行回收器。
并行
串行回收相反,并行收集可以运用多个CPU同时执行垃圾回收,因此提升了应用的吞吐量,不过并行回收仍然与串行回收一样,采用独占式,使用了"STW"机制。
按工作模式分
并发式垃圾回收器
与应用程序线程交替工作,以尽可能减少应用程序的停顿时间
独占式垃圾回收器
一旦运行,就停止应用程序中的所有用户线程,直到垃圾回收过程完全结束。
按碎片处理方式分
压缩式垃圾回收器
会在回收完成后,对存活对象进行压缩整理,消除
垃圾收集器最先出现在Python成神之路。
共有 0 条评论