Maison >Java >javaDidacticiel >Comment déterminer la taille des objets en Java ?

Comment déterminer la taille des objets en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-04 20:15:02839parcourir

How to Determine the Size of Objects in Java?

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!

Déclaration:
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