CMS和G1的区别

CMS收集器和G1收集器的区别:
CMS收集器只能充当老年代的收集器.
G1收集器收可以充当新生代和老年代的收集器.
CMS收集器是使用“标记-清除”算法进行的垃圾回收,容易产生内存碎片
G1收集器使用的是“标记-整理”算法,进行了空间整合,降低了内存空间碎片。
CMS导致给大对象分配内存时因内存碎片过多而导致fullgc.增加了fullgc频繁次数.
G1可以充分利用多核cpu的硬件优势,使用多核cpu来缩短STW的停顿时间.

总结:G1支持新生代和老年代,利用多核cpu优势,缩短STW停顿时间,整理内存碎片,减少fullgc频繁次数.对内存友好,对cpu不太好友.
        对cpu友好,对内存不太友好.