Differenz zwischen Dispose () und Finalize ()

Differenz zwischen Dispose () und Finalize ()

Schlüsselunterschied - entsorgen () vs abschließen ()
 

Der Schlüsselunterschied Zwischen Dispose () und Finalize () ist das Dispose () muss vom Programmierer ausdrücklich aufgerufen werden, während der Abschluss () vom Müllsammler aufgerufen wird, bevor das Objekt zerstört wird.

Der Dispose () ist eine Methode, um nicht verwaltete Ressourcen wie Dateien zu schließen oder zu veröffentlichen, und Streams, die von einem Objekt gehalten werden. Die Finalize ist eine Methode zur Durchführung von Reinigungsvorgängen für nicht verwaltete Ressourcen, die vom aktuellen Objekt gehalten werden, bevor das Objekt zerstört wird.

INHALT

1. Überblick und wichtiger Unterschied
2. Was ist entsetzt ()
3. Was ist finalize ()
4. Ähnlichkeiten zwischen Dispose () und Finalize ()
5. Seite an Seite Vergleich - dispose () vs ending () in tabellarischer Form
6. Zusammenfassung

Was ist entsetzt ()?

Einer der wichtigsten Vorteile von .Netto -Framework ist, dass es eine automatische Müllsammlung bietet. Es gibt automatisch den Speicher der Objekte frei, die nicht verwendet werden. In Programmiersprachen wie C und C ++ muss der Programmierer selbst die Speicherverwaltung bewältigen. Aber in Sprachen wie C#, auf die sich aufgebaut hat .Net -Framework bietet den Müllsammler. Es hilft, den Speicher zu verwalten. Es kann nicht verwendet werden, um die nicht verwalteten Speicherressourcen freizugeben. Die Methode von Dispose () kann verwendet werden, um diese Aufgabe zu erreichen.

Die Methode von Dispose () kann verwendet werden, um Ressourcen wie Datenbankverbindungen, Dateihandler usw. freizugeben. Diese Methode wird nicht automatisch aufgerufen. Daher sollte der Programmierer diese Methode implementieren. Sobald diese Methode aufgerufen wird, wird der Speicher für die jeweilige nicht verwaltete Ressource veröffentlicht. Diese Methode ist in der Schnittstelle idisponousable deklariert.

Was ist finalize ()?

Die Abschlussmethode wird nur vom Garbage Collector aufgerufen, wenn der Verweis auf ein Objekt nicht weiter verwendet wird. Diese Methode wird kurz vor der Zerstörung des Objekts aufgerufen. Diese Methode wird mit Hilfe des Destruktors implementiert. Die Abschlussmethode ist in der Java definiert.Lang.Objektklasse. Diese Methode wird als geschützt deklariert. Es wird nicht als öffentlich erklärt, um den Zugriff auf die anderen Klassen zu vermeiden. Insgesamt kann die Abschlussmethode die Leistung des Programms minimieren, da sie den Speicher nicht sofort freien.

Was ist die Ähnlichkeit zwischen Dispose () und endgültig ()?

  • Sowohl Dispose () als auch Finalize () können verwendet werden, um den Speicher für eine nicht verwaltete Ressource zu befreien.

Was ist der Unterschied zwischen Dispose () und Finalize ()?

dispose () gegen endgültig ()

Der Dispose () ist eine Methode, um nicht verwaltete Ressourcen wie Dateien zu schließen oder zu veröffentlichen, und Streams, die von einem Objekt gehalten werden. Die Finalize ist eine Methode zur Durchführung von Reinigungsvorgängen für nicht verwaltete Ressourcen, die vom aktuellen Objekt gehalten werden, bevor das Objekt zerstört wird.
 Zielsetzung
Die Entsendungsmethode wird verwendet, um die nicht verwalteten Ressourcen zu befreien, wenn sie aufgerufen wird. Die Abschlussmethode wird verwendet, um die nicht verwalteten Ressourcen zu befreien, bevor das Objekt zerstört wird.
Definierte Schnittstelle oder Klasse
Der Dispose () ist in der Schnittstellen -IDisposable -Schnittstelle definiert. Die Finalize () ist in Java definiert.Lang.Objektklasse.
 Aufrufmethode
Die Entsendung wird vom Programmierer aufgerufen. Die Abschlussmethode wird vom Müllsammler aufgerufen.
Zugriffsspezifizierer
Die Entsendung ist öffentlich. Die Abschlussmethode ist geschützt.
Geschwindigkeit
Die Entsendung wird sofort aufgerufen. Die Abschlussmethode wird langsam aufgerufen.
Leistung
Die Entsorgung minimiert nicht die Leistung des Programms. Die Abschlussmethode kann die Leistung des Programms minimieren.

Zusammenfassung -Entsorgung () vs abschließen ()

In diesem Artikel wurde der Unterschied zwischen den Methoden in C# erörtert. Der Unterschied zwischen Dispose () und Finalize () besteht darin, dass Dispose () vom Programmierer ausdrücklich aufgerufen werden muss, während der Abschluss () vom Müllsammler aufgerufen wird, bevor das Objekt zerstört wird.

Referenz:

1.Implementierung von Finanzierung und Entsorgung, um nicht verwaltete Ressourcen zu bereinigen. Hier verfügbar  
2.Sharma, Nitya. „Zurück zu den Grundlagen - dispose vs finalize.”C# Ecke. Hier verfügbar  

Bild mit freundlicher Genehmigung:

1.'CSHARP Logo'By Andres15alvarez - eigene Arbeit, (CC BY -SA 4.0) über Commons Wikimedia