La plupart des langages de programmation prennent en charge la programmation orientée objet. Il s'agit d'une méthodologie pour créer 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 devrait composer l'objet. Lors de la création d'objets, la mémoire est allouée aux objets. La mémoire allouée doit être publiée à la fin de l'exécution du programme pour réutiliser cette mémoire pour un autre objet. Langages de programmation tels que Java et C #.Utilisez des collecteurs à ordures pour la gestion de la mémoire tandis que les langages tels que C et C ++ nécessitent que le programmeur gérera 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 collecteur et le destructeur des ordures sont utilisés pour libérer la mémoire. Le différence clé entre le collecteur des ordures et le destructeur est que Un collecteur de déchets est un logiciel qui effectue une gestion automatique de la mémoire tandis qu'un destructeur est une méthode spéciale appelée par le collecteur des ordures pendant la destruction de l'objet.
1. Aperçu et différence clé
2. Qu'est-ce qu'un collecteur de déchets
3. Qu'est-ce qu'un destructeur
4. Similitudes entre le collecteur des ordures et le destructeur
5. Comparaison côte à côte - Collecteur des ordures vs destructeur sous forme tabulaire
6. Résumé
Certains langages de programmation ont géré les environnements de code. Dans les langages de programmation Java et C #, la 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 des systèmes même complexes car la gestion de la mémoire est effectuée automatiquement. Dans les langages de programmation tels que C, C ++ et l'objectif C, le programme doit relâcher la mémoire des objets vers le système. Des langues telles que Java et C # peuvent comprendre les objets qui ne sont plus utilisés. Ensuite, ils libèrent la mémoire allouée à ces objets au système.
Dans les langages de programmation C # et Java, s'il y a une classe appelée Student, alors un objet peut être créé en utilisant Student S = new Student (); Le «nouveau» est utilisé pour créer une instance de classe étudiante. Il alloue 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 pas utilisés plus loin, alors la mémoire est libérée et peut être utilisée plus tard.
Figure 01: collecteur et destructeur des ordures
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 effectue les tâches en utilisant cette mémoire. Lorsque l'exécution du programme est terminée, le collecteur des ordures détermine si les blocs de mémoire alloués pour le programme sont essentiels ou non. S'ils ne sont pas nécessaires, ces blocs de mémoire sont retournés au système. Ainsi, le collecteur des ordures 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 le traitement de la mémoire. Il équilibre les performances et l'utilisation de la mémoire.
Un destructeur est une fonction de membre spécial d'une classe. Il est invoqué chaque fois que l'objet sort de la portée. L'objet peut être détruit lorsqu'une fonction se termine ou à la fin de l'exécution du programme. Le destructeur a le même nom que le nom de classe. Le constructeur est utilisé pour créer l'objet. Il peut accepter les paramètres. Le constructeur peut également avoir des valeurs de retour. Mais dans un destructeur, il n'y a pas de type de retour ou d'acceptation des paramètres. Une classe ne peut être composée que d'un seul destructeur. Un destructeur est référé à l'aide du signe Tilde. Si le nom de classe est étudiant, alors le destructeur est ~ Student () .
Le collecteur des ordures 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 à libérer la mémoire et à traiter les ressources. Les destructeurs sont utiles pour publier la mémoire, fermer les fichiers, libérer les ressources du réseau et pour fermer les connexions de la base de données. Dans la plupart des langages de programmation, il n'est pas nécessaire d'écrire le destructeur parce que le collecteur des ordures appelle le constructeur par défaut par lui-même. Si le programmeur a effectué une allocation de mémoire dynamique en utilisant des pointeurs dans une langue comme C ++, il devrait écrire un destructeur pour libérer la mémoire avant que l'objet ne soit détruit.
Collectionneur de déchets vs destructeur | |
Un collectionneur d'ordures est un logiciel qui effectue une gestion automatique de la mémoire. | Un destructeur est une méthode spéciale appelée par le collecteur des ordures pendant la destruction de l'objet. |
Taper | |
Un collecteur d'ordures est un logiciel. | Un destructeur est une méthode. |
Le collecteur et le destructeur des ordures sont deux termes associés à la libération de la mémoire. Cet article a discuté de la différence entre le collecteur des ordures et le destructeur. La différence entre le collecteur des ordures et le destructeur est qu'un collecteur de déchets est un logiciel qui effectue une gestion automatique de la mémoire tandis qu'un destructeur est une méthode spéciale appelée par le collecteur des ordures pendant la destruction de l'objet.
Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne selon la note de citation. Veuillez télécharger la version PDF ici: différence entre le collecteur des ordures et le destructeur
1.lyndapodcast. «Comment fonctionne la collection C # Garbage | lynda. Tutoriel com.”Comment fonctionne la collection C # Garbage | lynda.Com tutoriel, Solutions d'apprentissage LinkedIn, 19 septembre. 2011. Disponible ici
2.Destructeurs en c .»Geeksforgeeks, 27 mai 2017. Disponible ici
3.Jain, Shubham. «Collecteur et destructeur des ordures en C #.»C # Corner. Disponible ici