#. Il existe deux types de mémoire en Java. Ils sont appelés respectivement pile et tas.
La pile est l'espace mémoire du programme, donc tous les types de base et références d'objet sont stockés dans la pile.
Le tas est l'endroit où la machine virtuelle Java stocke les objets. C'est une énorme mémoire. Lorsque vous créez un objet, la machine virtuelle Java place l'objet dans le tas et l'adresse de l'objet créé dans la pile.
Par conséquent, les références aux types et objets de base sont stockées dans la pile, les objets sont stockés dans le tas.
#. Mécanisme de collecte des déchets en Java
Lorsque vous créez un nouvel objet, Java alloue la mémoire nécessaire. Lorsque vous avez fini d'utiliser un objet, le garbage collector de Java récupère la mémoire pour vous.
Le garbage collection s'exécute en arrière-plan sous forme de threads, à la recherche d'objets qui n'ont aucune référence utile. Une fois trouvés, les objets sont détruits et la mémoire est récupérée.
Le garbage collection est implémenté entre les machines virtuelles Java. Elles suivent généralement les mêmes étapes. Tout d'abord, le garbage collector obtient un instantané des threads en cours d'exécution et de toutes les classes chargées.
Ensuite, tous les objets impliqués dans le thread sont marqués comme récemment utilisés. Lorsque tous les objets pouvant être impliqués sont marqués, les objets non marqués restants sont supprimés.
Afin d'aider la machine virtuelle, il est recommandé de supprimer de manière proactive certains objets qui ne sont plus nécessaires. Cela peut être réalisé en définissant la référence sur null.
par exemple :
Texte t = nouveau Test();
t.someAction();
//tout est fait
t = nul ;