Sobes.tech
Junior — Middle

Comment un objet est-il représenté en mémoire après la compilation du programme ?

sobes.tech IA

Réponse de l'IA

Après la compilation d'un programme sur Android (Java/Kotlin), l'objet en mémoire est représenté comme un ensemble de données stockées dans le tas (heap). La mémoire contient :

  • L'en-tête de l'objet (métadonnées, par exemple, une référence à la classe, des informations pour le ramasse-miettes).
  • Les champs de l'objet (variables d'instance) avec leurs valeurs.

Les références aux objets sont stockées dans la pile, tandis que les objets eux-mêmes sont dans le tas. Lors de l'exécution, la JVM ou ART (Android Runtime) gèrent l'allocation et la libération de mémoire pour les objets.

On peut représenter un objet en mémoire comme suit :

Heap:
+---------------------+
| En-tête de l'objet |
| Champ1 (int)        |
| Champ2 (référence String) |
| ...                 |
+---------------------+

Pile:
+---------------------+
| Référence à l'objet |
+---------------------+