垃圾回收器的类型

答案

垃圾回收器有以下四种类型:

  1. Serial Garbage Collector 单线程的垃圾回收器,会在垃圾回收时,暂停其他应用程序的线程,造成程序短暂的暂停(stop the world),直到回收结束。适用于桌面应用程序

  2. Parallel Garbage Collector 多线程版本的垃圾回收器,同样会在垃圾回收时,暂停其他应用程序线程。在多cpu情况下性能会好于serial版本的回收器

  3. CMS Garbage Collector CMS是一个多线程的,基于标记-清除算法的回收器,它的优点是一个低停顿的回收器。它仅会在以下两种情况暂停其他应用程序线程:

    • 在老年代回收标记阶段
    • 在回收过程中,堆内存发生了改动,需要重新标记时

    在清理阶段不需要暂停应用线程,它也需要在CPU数量较多时才能体现优势

  4. G1 Garbage Collector G1将整个堆内存划分为多个区域(region),对这些区域进行并行的垃圾回收,它会优先对垃圾最多的区域进行收集。 G1是jdk1.7中最新的垃圾回收器,它可以充分利用多CPU的优势缩短stop the world的时间,从整体上是采用了标记-整理算法进行回收,可以减少内存碎片


results matching ""

    No results matching ""