4种主要垃圾收集器
串行垃圾回收器Serial
后台启动GC线程,程序要
只有一个线程进行垃圾回收,会停下所有用户线程,只用来GC,GC完成以后,再继续所有线程,不适合
并行垃圾回收器Parallel
多个垃圾收集线程并行工作,也会停下所有用户线程,相对于Serial, 并行GC速度更快,适合交互少的场景
并发垃圾回收器CMS(Concurrent Mark Sipe)
用户线程和垃圾收集线程同时执行(不一定并行,交替执行),不需要停止用户线程,使用对响应时间有要求的场景
图中蓝色的是用户线程,黄色的是垃圾回收线程
G1(garbage first)
将堆内存分割成不通过的区域,然后并发的对其进行垃圾回收