Différence Entre Dispose () Et Finalize ()

Table des matières:

Différence Entre Dispose () Et Finalize ()
Différence Entre Dispose () Et Finalize ()

Vidéo: Différence Entre Dispose () Et Finalize ()

Vidéo: Différence Entre Dispose () Et Finalize ()
Vidéo: #30 Какая разница между методами Finalize и Dispose? Ответ на вопрос собеседования C# / .Net 2024, Novembre
Anonim

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.

Différence entre dispose () et finalize ()
Différence entre dispose () et finalize ()

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.

Recommandé: