特点
将堆划分成多个region区,可以作为Edion区、Survior区和Old区,通过-XX:G1HeapRegionSize设置region区的大小
可以通过-XX:MaxGCPauseMillis=n参数设置最大暂停时间
回收方式分2种,分别是:Young GC和Mixed GC
每次Young GC都会记录每个Eden区和Survior区的平均耗时,下次垃圾回收,可以根据最大暂停时间,来估算出本次能够回收的region区数量
gc执行流程
并发标记
标记1种对象引用的对象,即GC ROOT间接引用的对象
最终标记
标记引用改变漏标的对象,不管新建对象、不再关联对象
并发清理
与用户线程可以并行执行,将对象移动至另外的region区,并清理原来区的对象