pandening
11/6/2018 - 2:38 PM

测试Java大对象直接在oldGen分配空间

测试Java大对象直接在oldGen分配空间

package org.hujian.jvm.gc;

import org.hujian.common.JVMMemoryUnit;
import org.hujian.common.JvmTestRunner;

/**
 * Created on 2018/11/6 22:15.
 *
 *  JVM Arg:
 *  -verbose:gc -XX:+PrintGCDetails -Xms20m -Xmx20m -Xmn10m -XX:SurvivorRatio=8 -XX:PretenureSizeThreshold=4194304
 */
public class TestBigObjectBirthInOldGen extends JvmTestRunner {
    /**
     * 在这里实现测试逻辑,不提供参数列表以及返回值,执行该方法应该测试到
     * 你需要实现的所有逻辑,本方法单线程执行(main)
     */
    @Override
    protected void execute() {

        /// 测试大对象直接进入老年代
        /// -XX:PretenureSizeThreshold 设置一个内存大小,超过这个大小的对象将直接在老年代分配空间
        byte[] bigByteArray = JVMMemoryUnit.MB.alloc(5);

        System.out.println(bigByteArray.length);

    }

    public static void main(String[] args) {
        new TestBigObjectBirthInOldGen().execute();
    }
}