CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。采用的是”标记-清除算法”,整个过程分为4步;
    (1)初始标记,标记GC Roots能直接关联到的对象 Stop The World— ->速度很快
    (2)并发标记,就是从GC Roots开始找到它能引用的所有其它对象的过程
    (3)重新标记,Stop The World 为了修正并发标记期间因用户程序继续运作而导致标记产生变动的那一部分对象的标记记录。这个阶段的停顿时间一般会比初始标记阶段稍长一些,但远比并发标记的时间要短。
    (4)并发清除,在整个过程中耗时最长的并发标记和并发清除过程收集器线程都可以与用户线程一起工作,因此,从总体上看,CMS收集器的内存回收过程是与用户线程一起并发执行的。
    G1收集器的工作过程也可以分为四步:
    初始标记、并发标记、最终标记跟CMS的前三步基本一致;
    筛选回收,对各个Region的回收价值和成本进行排序,根据用户所期望的GC停顿时间制定回收计划