Déterminer la taille d'un objet en Java
Malgré la prévalence de la méthode sizeOf() dans des langages comme C/C, Java n'a pas d'équivalent direct pour calculer l'empreinte mémoire d'un objet. Cet article explore des approches alternatives pour répondre à ce besoin.
Utilisation du package d'instrumentation
L'API d'instrumentation Java fournit la méthode getObjectSize(), qui offre une approximation de la taille d'un objet spécifique. à sa mise en œuvre. Un exemple d'utilisation :
<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 utiliser cette méthode, spécifiez ce qui suit dans votre fichier manifeste :
<code class="xml"><instrumentation> <main class="ObjectSizeFetcher"> <option name="tools" value="all"/> </main> </instrumentation></code>
À partir du code de votre application, appelez getObjectSize() comme ci-dessous :
<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!