老年代垃圾收集器

  1. Serial Old 收集器-标记整理算法
  • Serial Old是Serial收集器的老年代版本,它同样是一个单线程(串行)收集器,使用标记-整理算法。
    这个收集器的主要意义在于给Client模式下的虚拟机使用。
  • 如果在Server模式下,2大用途
    • 在JDK1.5及之前的版本中与Parallel Scavenge收集器搭配使用
    • 作为CMS收集器的后备预案,在并发收集发生Concurrent Mode Failure时使用
  1. Parallel Old 收集器-标记整理
  • Parallel Old是 Parallel Scavenge收集器的老年代版本
  • 使用标记-整理算法,这个收集器在1.6中才开始提供。
  1. CMS 收集器-标记整理算法
    CMS (Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。
  • 目前很大一部分的Java应用集中在互联网站或者B/S系统的服务端上,这类应用尤其重视

  • CMS收集器基于标记-清除算法实现

    • 初始标记
    • 并发标记
    • 重新标记
    • 并发清除

其中初始标记、重新标记这两个步骤仍然需要Stop the world.

CMS收集器主要优点

  • 并发收集
  • 低停顿

CMS三个明显的缺点

  1. CMS收集对CPU资源非常敏感,
  2. CMS收集器无法处理浮动垃圾。
  3. 基于标记-清除,手机结束时会有大量空间碎片产生,
posted @ 2025-05-18 21:49  kuki'  阅读(10)  评论(0)    收藏  举报