1、YGC和FGC是什么
YGC :对新生代堆进行gc。频率比较高,因为大部分对象的存活寿命较短,在新生代里被回收。性能耗费较小。 (复制算法 ---> 一般适用对象存活率低的场景)
FGC :全堆范围的gc。默认堆空间使用到达80%(可调整)的时候会触发fgc。 (标记整理或者标记清除算法 ---> 一般适用于对象存活率高的场景)
2、什么时候执行YGC和FGC
1、eden空间不足,执行 young gc
2、old空间不足,perm空间不足,调用方法System.gc() ,ygc时的悲观策略, dump live的内存信息时(jmap –dump:live),都会执行full gc