java获取对象的大小_Java - 如何获取对象大小

有没有一种简单的方法获取特定对象的大小?

于是发现了这么个东西:

java获取对象的大小_Java - 如何获取对象大小_第1张图片

光看了下该方法的声明,这不就是获取对象的大小么,于是没想太多,心想这下问题变得简单了,弄了个premain方法初始化Instrumentation:public class ObjectSizeUtils {

private static Instrumentation inst = null;

public static void premain(String agentArgs, Instrumentation inst) {

ObjectSizeUtils.inst = inst;

}

public static long sizeOf(Object o){

if(inst == null) throw new IllegalStateException("not initialized yet");

return inst.getObjectSize(o);

}

}

export jar并在MANIFEST.MF中加上:Premain-class: pac.testcase.utils.ObjectSizeUtils

Can-Redefine-Classes: false

随便写一个实体类,用来测试:class Person{

你可能感兴趣的:(java获取对象的大小)