Comment mesurer la mémoire utilisée par une structure de donnée
Bonjour,
Je souhaite mesurer la mémoire utilisé par une structure de donnée. J'utilise l'algo suivant. Je n'ai pas confiance car il parfois il me retourne une valeur négative... Comment faire mieux?
Code:
1 2 3 4 5 6 7 8 9
|
System.gc();
long before = getMemoryUsed();
Data data = makeData();
System.gc();
long after = getMemoryUsed();
size = (after - before);
// avoid that the gc frees my data.
dummy(data) |
Code:
1 2 3 4 5
|
private long getMemoryUsed() {
return ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()
.getUsed();
} |
Merci de votre aide.