我正在尝试编写一个简单的ObjectUtils
类,其中包含所有对象的各种实用方法。我想让其中一个被调用getObjectSize(Object)
,你将它传递给一个实例化的对象,它会返回对象在内存中的大小:
public class ObjectUtils {
private static volatile Instrumentation instrumentation;
public static final long getObjectSize(final Object p_oToGauge)
{
return instrumentation.getObjectSize(p_oToGauge);
}
}
但是,似乎为了获得一个已实现的Instrumentation
实例,您需要使用 JRE 代理和所谓的premain
方法来做各种花哨的事情。
有没有一种简单的方法可以访问本地 JRE 的Instrumentation
实例?我通过Runtime
API 寻找了一些东西,但什么也没找到。