测试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();
}
}