Différence entre disposer () et finaliser ()

Différence entre disposer () et finaliser ()

Différence clé - disposer () contre finaliser ()
 

Le différence clé entre disposer () et finaliser () Dispose () doit être explicitement invoqué par le programmeur tandis que la finalisation () est invoquée par le collecteur des ordures avant de détruire l'objet.

Le dissose () est une méthode pour fermer ou libérer des ressources non gérées telles que les fichiers, les 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.

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce que Disser ()
3. Qu'est-ce que finaliser ()
4. Similitudes entre Dispose () et Finalise ()
5. Comparaison côte à côte - disposer () vs finaliser () sous forme tabulaire
6. Résumé

Qu'est-ce que Disser ()?

L'un des avantages les plus importants de .Le cadre net est qu'il fournit une collection automatique de déchets. Il libère automatiquement la mémoire des objets qui ne sont pas utilisés. Dans les langages de programmation tels que C et C ++, le programmeur doit gérer par lui-même la gestion de la mémoire. Mais dans des langues telles que C # qui est construite sur .Net Framework fournit le collecteur des ordures. Il 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 réaliser cette tâche.

La méthode Dispose () peut être utilisée pour publier des ressources telles que les connexions de base de données, les 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 invoquée, la mémoire de la ressource non gérée particulière est publiée. Cette méthode est déclarée dans l'interface idisposeable.

Qu'est-ce que finaliser ()?

La méthode finalisée n'est appelée que par le collecteur des ordures lorsque la référence à un objet n'est pas utilisée plus loin. Cette méthode est appelée juste avant de détruire l'objet. Cette méthode est mise en œuvre à l'aide du destructeur. La méthode finalisée est définie dans le java.égouter.classe d'objets. Cette méthode est déclarée protégée. Il n'est pas déclaré public pour éviter d'accéder aux autres classes. Dans l'ensemble, la méthode Finalise peut minimiser les performances du programme car elle ne libére pas instantanément la mémoire.

Quelle est la similitude entre Dispose () et Finalize ()?

  • Disser () et finaliser () peuvent être utilisés pour libérer la mémoire allouée à une ressource non gérée.

Quelle est la différence entre dissose () et finaliser ()?

dissposer () vs finaliser ()

Le dissose () est une méthode pour fermer ou libérer des ressources non gérées telles que les fichiers, les 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 Disser est utilisée pour libérer les ressources non gérées lorsqu'elle est invoquée. La méthode finalisée est utilisée pour libérer les ressources non gérées avant que l'objet ne soit détruit.
Interface ou classe définie
Le dissose () est défini dans l'interface IDisposable Interface. Le finalize () est défini en java.égouter.classe d'objets.
 Méthode invoquée
La méthode disposée est invoquée par le programmeur. La méthode finalisée est invoquée par le collecteur des ordures.
Spécificateur d'accès
La méthode disposée est publique. La méthode finalisée est protégée.
Vitesse
La méthode disposée est invoquée instantanément. La méthode finalisée est invoquée lentement.
Performance
La disposition ne minimisera pas les performances du programme. La méthode finalisée pourrait minimiser les performances du programme.

Résumé - disposer () contre finaliser ()

Cet article a discuté de la différence entre les méthodes Disser et Finaliser en C #. La différence entre Dispose () et Finalise () est que Dispose () doit être explicitement invoqué par le programmeur tandis que la finalisation () est invoquée par le collecteur des ordures avant de détruire l'objet.

Référence:

1.Mise en œuvre de finaliser et disposer de nettoyer les ressources non gérées. Disponible ici  
2.Sharma, Nitya. «Retour aux bases - disposer vs finaliser.»C # Corner. Disponible ici  

Image gracieuseté:

1.'CSHARP LOGO'BY ANDRES15ALVAREZ - PROPRIEUX TRAVAIL, (CC BY-SA 4.0) via Commons Wikimedia