Sto provando a scrivere una semplice classe ObjectUtils
che contiene una varietà di metodi di utilità per tutti gli oggetti. Mi piacerebbe avere uno di loro chiama getObjectSize(Object)
dove si passa un oggetto istanziato e restituisce le dimensioni dell'oggetto in memoria:Come ottenere l'istanza di Instrumentation in Java
public class ObjectUtils {
private static volatile Instrumentation instrumentation;
public static final long getObjectSize(final Object p_oToGauge)
{
return instrumentation.getObjectSize(p_oToGauge);
}
}
Tuttavia, sembra che, al fine di ottenere un implementato Instrumentation
esempio, è necessario fare ogni sorta di cose di fantasia con gli agenti JRE e il cosiddetto metodo premain
.
Esiste un modo semplice per accedere alle istanze JRE locali Instrumentation
? Ho cercato qualcosa tramite l'API Runtime
ma non ho trovato nulla.
I _think_ non c'è. Dovrai fare le cose fantasiose. –
Ho tirato fuori questo post da Alex Snaps che potresti trovare utile: http://www.codespot.net/blog/2012/01/measuring-java-object-sizes/ –