Différence clé - disposer () vs finaliser ()
La principale différence entre dispose () et finalize () est que dispose () doit être explicitement invoqué par le programmeur tandis que finalize () est appelé par le garbage collector avant de détruire l'objet.
Dispose () est une méthode pour fermer ou libérer des ressources non gérées telles que des fichiers, des flux détenus par un objet. La finalisation est une méthode pour effectuer des opérations de nettoyage sur les ressources non gérées détenues par l'objet actuel avant la destruction de l'objet.
CONTENU
1. Aperçu et différence clé
2. Qu'est-ce que dispose ()
3. Qu'est-ce que finalize ()
4. Similitudes entre dispose () et finalize ()
5. Comparaison côte à côte - dispose () vs finalize () sous forme tabulaire
6. Résumé
Qu'est-ce que dispose ()?
L'un des avantages les plus importants de. NET Framework est qu'il fournit un garbage collection automatique. Il libère automatiquement la mémoire des objets non utilisés. Dans les langages de programmation tels que C et C ++, le programmeur doit gérer lui-même la gestion de la mémoire. Mais dans des langages tels que C # qui est construit sur. NET Framework fournit le garbage collector. Cela aide à gérer la mémoire. Il ne peut pas être utilisé pour libérer les ressources de mémoire non gérées. La méthode dispose () peut être utilisée pour accomplir cette tâche.
La méthode dispose () peut être utilisée pour libérer des ressources telles que des connexions de base de données, des gestionnaires de fichiers, etc. Cette méthode n'est pas appelée automatiquement. Par conséquent, le programmeur doit implémenter cette méthode. Dès que cette méthode est appelée, la mémoire de la ressource non gérée particulière est libérée. Cette méthode est déclarée dans l'interface IDisposeable.
Qu'est-ce que finalize ()?
La méthode finalize n'est appelée par le garbage collector que lorsque la référence à un objet n'est plus utilisée. Cette méthode est appelée juste avant de détruire l'objet. Cette méthode est implémentée à l'aide du destructeur. La méthode finalize est définie dans la classe java.lang.object. Cette méthode est déclarée comme protégée. Il n'est pas déclaré public pour éviter l'accès par les autres classes. Dans l'ensemble, la méthode de finalisation peut minimiser les performances du programme car elle ne libère pas la mémoire instantanément.
Quelle est la similitude entre dispose () et finalize ()?
Dispose () et finalize () peuvent être utilisés pour libérer la mémoire allouée à une ressource non gérée
Quelle est la différence entre dispose () et finalize ()?
Diff article au milieu avant la table
disposer () vs finaliser () |
|
Dispose () est une méthode pour fermer ou libérer des ressources non gérées telles que des fichiers, des flux détenus par un objet. | La finalisation est une méthode pour effectuer des opérations de nettoyage sur les ressources non gérées détenues par l'objet actuel avant que l'objet ne soit détruit. |
Objectif | |
La méthode dispose est utilisée pour libérer les ressources non managées lorsqu'elle est appelée. | La méthode finalize est utilisée pour libérer les ressources non gérées avant la destruction de l'objet. |
Interface ou classe définie | |
Dispose () est défini dans l'interface IDisposable. | Le finalize () est défini dans la classe java.lang.object. |
Méthode d'appel | |
La méthode dispose est appelée par le programmeur. | La méthode finalize est appelée par le garbage collector. |
Spécificateur d'accès | |
La méthode dispose est publique. | La méthode finalize est protégée. |
La vitesse | |
La méthode dispose est appelée instantanément. | La méthode finalize est appelée lentement. |
Performance | |
L'élimination ne minimisera pas les performances du programme. | La méthode de finalisation peut minimiser les performances du programme. |
Résumé - disposer () vs finaliser ()
Cet article décrit la différence entre les méthodes de suppression et de finalisation en C #. La différence entre dispose () et finalize () est que, dispose () doit être explicitement invoqué par le programmeur tandis que finalize () est appelé par le ramasse-miettes avant de détruire l'objet.