Trouver la taille des objets en Java
En Java, la question de déterminer l'empreinte mémoire d'un objet se pose fréquemment lorsqu'on compare des structures de données . Cependant, contrairement à C/C avec sa méthode sizeOf(), Java ne dispose pas d'une méthode explicite à cet effet.
Solution : Utiliser java.lang.instrumentation
Le manque d'une méthode intégrée à Java nécessite une approche alternative. Une solution appropriée consiste à exploiter le package java.lang.instrumentation. Ce package fournit une méthode qui fournit une approximation spécifique à l'implémentation de la taille d'un objet, ainsi que toute surcharge associée.
Exemple de code :
L'extrait de code suivant illustre le utilisation du package java.lang.instrumentation pour récupérer les tailles d'objets :
<code class="java">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); } }</code>
Pour déterminer la taille d'un objet, utilisez simplement la méthode getObjectSize :
<code class="java">public class C { private int x; private int y; public static void main(String [] args) { System.out.println(ObjectSizeFetcher.getObjectSize(new C())); } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!