如何获得java对象占用空间大小?,java占用空间,在java中获得对象占用
分享于 点击 19400 次 点评:90
如何获得java对象占用空间大小?,java占用空间,在java中获得对象占用
在java中获得对象占用空间大小需要用java.lang.instrumentation包。
如下实现类:
import java.lang.instrument.Instrumentation;public class ObjectSizeFetcher { private static Instrumentation instrumentation; public static void premain(String args, Instrumentation inst) { instrumentation = inst; } public static long getObjectSize(Object o) { return instrumentation.getObjectSize(o); }}
注意需要在MANIFEST.MF中添加下面内容
Premain-Class: ObjectSizeFetcher
Premain-Class 代理类。即包含 premain 方法的类
使用方法:
public class C { private int x; private int y; public static void main(String [] args) { System.out.println(ObjectSizeFetcher.getObjectSize(new C())); }}
运行后就可以得到C占用的空间大小了。
用户点评