1.垃圾收集器有Serial(串行)收集器,ParNew收集器,Parallel收集器,CMS收集器,G1收集器
(1)Serial收集器:该收集器是最古老的,单线程的,发生GC的时候,用户的应用程序会被暂停,然后单线程执行GC,执行完了再继续执行应用程序,所以会出现卡顿现象(STW)
(2)ParNew收集器:是Serial多线程版,发生GC的时候多线程来完成
(3)Parallel收集器:国内用的最多的,也是默认的使用收集器,它充分利用的CPU资源,并发进行GC回收。它年轻代用复制算法,老年代用标志-整理法。
(4)CMS收集器:该收集器可以改善用户体院,缩短每次STW时间,实际流程包括初始标志阶段(会STW)、并发标志阶段(应用会运行,同时标志垃圾)、重新标志阶段(会STW)、并发清除阶段(清除垃圾,应用同时运行)、并发重置阶段(回到最初状态):
CMS收集器有点:并发收集、停顿短;缺点:使用标志清除法,会产生大量碎片,无法处理浮动垃圾。
(5)G1收集器:适用于有多核大内存的服务器,效率高同时停顿也短。流程跟CMS差不多,不过多了一个选择回收阶段,这个是根据停顿的时间内来可选择回收哪些region。于CMS不同,它是基于标志-整理法来实现。