Différence clé - Garbage Collector vs Destructor
La plupart des langages de programmation prennent en charge la programmation orientée objet. C'est une méthodologie pour construire un programme ou un logiciel à l'aide d'objets. Un objet est créé à l'aide d'une classe, c'est donc une instance d'une classe. Une classe fournit la description de ce que doit être l'objet. Lors de la création d'objets, de la mémoire est allouée aux objets. La mémoire allouée doit être libérée à la fin de l'exécution du programme pour réutiliser cette mémoire pour un autre objet. Les langages de programmation tels que Java et C #. NET utilisent des récupérateurs de mémoire pour la gestion de la mémoire, tandis que les langages tels que C et C ++ nécessitent que le programmeur gère la gestion de la mémoire. La quantité de mémoire nécessaire doit être allouée et à la fin de l'exécution, la mémoire doit être libérée. Le ramasse-miettes et le destructeur sont utilisés pour libérer de la mémoire. La principale différence entre le garbage collector et le destructor est qu'un garbage collector est un logiciel qui effectue une gestion automatique de la mémoire tandis qu'un destructor est une méthode spéciale appelée par le garbage collector lors de la destruction de l'objet.
CONTENU
1. Présentation et différence clé
2. Qu'est-ce qu'un Garbage Collector
3. Qu'est-ce qu'un Destructor
4. Similitudes entre Garbage Collector et Destructor
5. Comparaison côte à côte - Garbage Collector vs Destructor sous forme tabulaire
6. Résumé
Qu'est-ce qu'un ramasse-miettes?
Certains langages de programmation ont des environnements de code managé. Dans les langages de programmation Java et C #, une gestion automatique de la mémoire est effectuée. Le programmeur n'a pas besoin de libérer la mémoire utilisée par les objets. Il leur est plus facile de développer même des systèmes complexes car la gestion de la mémoire se fait automatiquement. Dans les langages de programmation tels que C, C ++ et Objective C, le programme doit libérer la mémoire des objets vers le système. Des langages tels que Java et C # peuvent identifier les objets qui ne sont plus utilisés. Ensuite, ils libèrent la mémoire allouée pour ces objets au système.
Dans les langages de programmation C # et Java, s'il existe une classe appelée Student, un objet peut être créé en utilisant Student s = new Student (); Le «nouveau» est utilisé pour créer une instance de la classe Student. Il alloue de la mémoire dans le système. Le «s» fait référence au bloc de mémoire alloué pour cet objet. Les environnements linguistiques identifient si les objets sont utilisés ou non. S'ils ne sont plus utilisés, la mémoire est libérée et peut être utilisée plus tard.
Figure 01: Garbage Collector et Destructor
Lors de l'exécution d'un programme, les blocs de mémoire sont alloués à partir du pool de mémoire système. Ensuite, le programme exécute les tâches en utilisant cette mémoire. Lorsque l'exécution du programme est terminée, le garbage collector détermine si les blocs de mémoire alloués au programme sont essentiels ou non. S'ils ne sont pas nécessaires, ces blocs de mémoire sont renvoyés au système. Ainsi, le garbage collector peut suivre les objets créés dans le programme. Les blocs de mémoire qui ne sont plus nécessaires sont renvoyés au pool de mémoire système. Le principal avantage de ce processus est de confirmer que le programmeur n'a pas à se concentrer sur la désallocation de la mémoire. Il équilibre les performances et l'utilisation de la mémoire.
Qu'est-ce qu'un destructeur?
Un destructeur est une fonction membre spéciale d'une classe. Il est appelé chaque fois que l'objet sort de la portée. L'objet peut être détruit à la fin d'une fonction ou à la fin de l'exécution du programme. Le destructeur a le même nom que le nom de la classe. Le constructeur est utilisé pour créer l'objet. Il peut accepter des paramètres. Le constructeur peut également avoir des valeurs de retour. Mais dans un Destructor, il n'y a pas de type de retour ou d'acceptation de paramètres. Une classe ne peut être constituée que d'un seul destructeur. Un destructeur est référencé en utilisant le signe tilde. Si le nom de la classe est Student, alors le destructeur est ~ Student () {}.
Le garbage collector recherche les objets qui ne sont plus nécessaires. Il garantit que les objets qui ne sont plus utilisés par le programme doivent être détruits. Il appelle le destructeur pour libérer la mémoire et désallouer les ressources. Les destructeurs sont utiles pour libérer de la mémoire, fermer des fichiers, libérer des ressources réseau et fermer les connexions à la base de données. Dans la plupart des langages de programmation, il n'est pas nécessaire d'écrire le destructeur car le garbage collector appelle lui-même le constructeur par défaut. Si le programmeur a fait une allocation de mémoire dynamique en utilisant des pointeurs dans un langage comme C ++, alors il doit écrire un destructeur pour libérer de la mémoire avant que l'objet ne soit détruit.
Quelle est la similitude entre Garbage Collector et Destructor?
Garbage Collector et Destructor sont tous deux utilisés pour libérer de la mémoire qui n'est plus nécessaire pour le programme
Quelle est la différence entre Garbage Collector et Destructor?
Diff article au milieu avant la table
Garbage Collector vs Destructor |
|
Un garbage collector est un logiciel qui effectue une gestion automatique de la mémoire. | Un destructeur est une méthode spéciale appelée par le garbage collector lors de la destruction de l'objet. |
Type | |
Un garbage collector est un logiciel. | Un destructeur est une méthode. |
Résumé - Garbage Collector vs Destructor
Le ramasse-miettes et le destructeur sont deux termes associés à la libération de mémoire. Cet article décrit la différence entre Garbage Collector et destructor. La différence entre le garbage collector et le destructor est qu'un garbage collector est un logiciel qui effectue une gestion automatique de la mémoire tandis qu'un destructor est une méthode spéciale appelée par le garbage collector lors de la destruction de l'objet.
Téléchargez le PDF de Garbage Collector vs Destructor
Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne conformément à la note de citation. Veuillez télécharger la version PDF ici: Différence entre Garbage Collector et Destructor