Minor GC - 从年轻代回收内存 触发条件: 1、Eden区域满,Survivor满不会引发GC 2、新创建的对象大小 > Eden所剩空间 FullGC - 清理整个堆空间,包括年轻代,老年代和永久代,不包括元空间,元空间存堆外内存,即物理内存 触发条件: 1.老年代空间不足 如果创建一个大对象,Eden区域当中放不下这个大对象,会直接保存在老年代当中,如果老年代空间也不足,就会触发Full GC。为了避免这种情况,最好就是不要创建太大的对象。 2.永久代空间不足 3.Minor GC后 幸存区存活的对象年龄达到了设定值拷贝到老年代,如果老年代空间不足,则发生FullGC 存活的对象大于幸存区的容量需要转存老年代,如果老年代空间不足,则发生FullGC 4.显示调用System.gc,这里调用了 System.gc 并不一定会立马就触发FullGC
GC收回条件
最新推荐文章于 2022-11-21 10:07:55 发布