Maison > Java > javaDidacticiel > Comment déterminer la taille d'un objet en Java ?

Comment déterminer la taille d'un objet en Java ?

DDD
Libérer: 2024-11-05 07:07:01
original
943 Les gens l'ont consulté

How to Determine the Size of an Object in Java?

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>
Copier après la connexion

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>
Copier après la connexion

À 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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal