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

posted on 2019-01-16 15:35  一中晴哥威武  阅读(3431)  评论(0编辑  收藏  举报