JVM堆老年代分配比例

老年代分配

-XX:NewRatio
设置老年代与新生代的比例

-XX:NewRatio=老年代/新生代
尽可能将对象,预留在新生代
减少老年代的GC次数

package com.bjsxt.base001;

public class Test02 {

    public static void main(String[] args) {

        byte[] b = null;
        // 连续向系统申请10MB空间
        for (int i = 0; i < 10; i++) {
            b = new byte[1 * 1024 * 1024];
        }
    }
}

程序分析
每次分配1M,循环10次
总共需要分配10M空间

测试

参数配置

-Xms20m -Xmx20m -XX:SurvivorRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC

老年代,比例为2
这里写图片描述
新生代,为6M多
老年代,为13M多
老年代/新生代,为2/1

猜你喜欢

转载自blog.csdn.net/nangeali/article/details/81834953
今日推荐