Accueil l'audio Qu'est-ce qu'un ramasse-miettes? - définition de techopedia

Qu'est-ce qu'un ramasse-miettes? - définition de techopedia

Table des matières:

Anonim

Définition - Que signifie Garbage Collector?

Un garbage collector est un logiciel qui effectue une gestion automatique de la mémoire. Son travail consiste à libérer toute mémoire inutilisée et à s'assurer qu'aucune mémoire n'est libérée pendant qu'elle est encore en cours d'utilisation. Certains langages tels que les langages Java et .NET proposent un ramasse-miettes automatique, tandis que d'autres tels que C / C ++ nécessitent que le programmeur gère manuellement la mémoire.

Techopedia explique Garbage Collector

La récupération de place a été introduite pour la première fois par le créateur de Lisp, John McCarthy, pour faciliter la gestion manuelle de la mémoire lors de l'utilisation du langage Lisp.

Les trois principales techniques utilisées par un garbage collector pour effectuer une gestion automatique de la mémoire sont les suivantes:

  • Comptage de références - La référence à chaque objet est comptée à l'aide d'une variable de compteur. Lorsque le compteur atteint zéro, cela signifie que l'objet n'est plus nécessaire et est donc recyclé.
  • Marquer et balayer - Une traversée récursive de tous les objets accessibles est effectuée sur toutes les régions de données et les objets accessibles sont marqués. Les objets non marqués sont ensuite recyclés.
  • Arrêter et copier - Le tas de mémoire est divisé en deux sections: une section qui contient les objets et une section vide où les objets sont transférés (copiés) s'il s'avère qu'ils sont marqués. Les objets non marqués de la première section sont recyclés en les vidant.

Lorsqu'un bloc de mémoire affecté à un pointeur / objet a été libéré, le pointeur / objet doit être réinitialisé à une valeur nulle; sinon, il pend, c'est-à-dire qu'il pointe vers un bloc de mémoire invalide.

La récupération de place permet de réduire les bogues et les risques de sécurité causés par les pointeurs pendants et les problèmes de fuite de mémoire.

Les inconvénients de l'utilisation d'un garbage collector incluent la surcharge supplémentaire sur les ressources et les performances. L'exécution d'un garbage collector peut également ralentir le système et ainsi diminuer ses performances.

Qu'est-ce qu'un ramasse-miettes? - définition de techopedia