我正在嘗試編寫一個簡單的ObjectUtils
類,該類包含所有對象的各種實用程序方法。我想對他們有一個叫getObjectSize(Object)
,你傳遞一個實例化的對象,並在內存中返回對象的大小:如何在Java中獲取Instrumentation的實例
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查找了一些東西,但是什麼也找不到。
我_think_沒有。你將不得不做花哨的東西。 –
我從Alex Snaps挖出了這篇文章,您可能會覺得有用:http://www.codespot.net/blog/2012/01/measuring-java-object-sizes/ –