一、 新生代的垃圾收集器
1、Serial 单线程的收集器,采用复制算法
2、ParNew serial的多线程版,也采用复制算法
3、Parallel Scavenge 追求吞吐量的收集器,复制算法,吞吐量=用户程序线程时间/(用户程序线程时间+GC的回收的时间)
二、年老代垃圾收集器
1、Serial old 单线程,采用标记-整理算法
2、Paralle old 是parallel scavenge的老年代收集器,多线程,采用标记-整理算法
3、CMS (Concurrent Mark Sweep)是个获取短回收时间为目标的收集器,是基于标记-清除算法
三、G1收集器
jdk1.7加入的,面向服务端应用的垃圾收集器,基于标记-整理算法
1)web接口交互的系统:使用ParNew+CMS组合,可以提高响应时间;
2)服务型的系统:使用parallel scavenge + parallel old,可以提高吞吐量;
四、Jvm的垃圾收集器的两种类型
1.Minor Gc
当新生代区域满了之后,就会调用Minor Gc
2. Full Gc
调用System.gc()
年老代空间不足
方法区空间不足
通过Minor Gc进入年老代的大小,大于年老代可用的大小