大对象直接进入老年代

大对象直接进入老年代

Minor GC的规则

大对象直接进入老年代

-XX:PretenureSizeThreshold

指定大于该数值的对象直接进入老年代,避免在新生代的Eden和两个Survivor区域来回复制,产生大量内存复制操作。

缺点:只对Serial和ParNew两个新生代收集器有用

Minor GC的规则

jdk6_24之前,Minor GC之前先去老年代判断剩余连续内存空间是否大于新生代对象总和,如果大于就进行一次Minor GC;如果小于的话,会去判断你是否打开了分配担保策略,如果打开了就去判断老年代剩余连续内存空间是否大于之前每次Minor GC晋升老年代对象的平均大小,如果大于的话就尝试进行一次Minor GC,如果小于,或者没有打开分配担保策略的话就直接Full GC。

但是jdk6_24之后,就变了,不关心分配担保策略了,如果老年代剩余的连续内存空间大于之前Minor GC晋升老年代对象的平均大小的话,就进行Minor GC,如果小于的话就直接进行Full GC。

你可能感兴趣的:(大对象直接进入老年代)