Unterschied Zwischen Garbage Collector Und Destructor

Inhaltsverzeichnis:

Unterschied Zwischen Garbage Collector Und Destructor
Unterschied Zwischen Garbage Collector Und Destructor

Video: Unterschied Zwischen Garbage Collector Und Destructor

Video: Unterschied Zwischen Garbage Collector Und Destructor
Video: .NET C # Интервью вопросы и ответы: - Что такое сборщик мусора, поколения 0, 1 и 2? 2024, November
Anonim

Hauptunterschied - Garbage Collector vs Destructor

Die meisten Programmiersprachen unterstützen die objektorientierte Programmierung. Es ist eine Methode zum Erstellen eines Programms oder einer Software unter Verwendung von Objekten. Ein Objekt wird mit einer Klasse erstellt, es ist also eine Instanz einer Klasse. Eine Klasse beschreibt, woraus das Objekt bestehen soll. Beim Erstellen von Objekten wird Speicher für die Objekte zugewiesen. Der zugewiesene Speicher sollte am Ende der Programmausführung freigegeben werden, um diesen Speicher für ein anderes Objekt wiederzuverwenden. Programmiersprachen wie Java und C #. NET verwenden Garbage Collectors für die Speicherverwaltung, während für Sprachen wie C und C ++ der Programmierer die Speicherverwaltung übernehmen muss. Die erforderliche Speichermenge sollte zugewiesen werden, und am Ende der Ausführung sollte der Speicher freigegeben werden. Der Garbage Collector und der Destructor werden zum Freigeben von Speicher verwendet. Der Hauptunterschied zwischen dem Garbage Collector und dem Destructor besteht darin, dass ein Garbage Collector eine Software ist, die eine automatische Speicherverwaltung durchführt, während ein Destructor eine spezielle Methode ist, die vom Garbage Collector während der Zerstörung des Objekts aufgerufen wird.

INHALT

1. Überblick und Hauptunterschied

2. Was ist ein Garbage Collector

? 3. Was ist ein Destruktor?

4. Ähnlichkeiten zwischen Garbage Collector und Destructor.

5. Vergleich nebeneinander - Garbage Collector und Destructor in tabellarischer Form.

6. Zusammenfassung

Was ist ein Müllsammler?

Einige Programmiersprachen haben Codeumgebungen verwaltet. In den Programmiersprachen Java und C # wird die automatische Speicherverwaltung durchgeführt. Der Programmierer muss den von den Objekten verwendeten Speicher nicht freigeben. Es ist für sie einfacher, auch komplexe Systeme zu entwickeln, da die Speicherverwaltung automatisch erfolgt. In Programmiersprachen wie C, C ++ und Objective C sollte das Programm den Speicher der Objekte an das System zurückgeben. Sprachen wie Java und C # können die Objekte herausfinden, die nicht mehr verwendet werden. Anschließend geben sie den für diese Objekte zugewiesenen Speicher an das System zurück.

Wenn in den Programmiersprachen C # und Java eine Klasse namens Student vorhanden ist, kann ein Objekt mit Student s = new Student () erstellt werden. Das 'neue' wird verwendet, um eine Instanz der Student-Klasse zu erstellen. Es ordnet Speicher im System zu. Das 's' bezieht sich auf den für dieses Objekt zugewiesenen Speicherblock. Die Sprachumgebungen identifizieren, ob die Objekte verwendet werden oder nicht. Wenn sie nicht weiter verwendet werden, wird der Speicher freigegeben und kann später verwendet werden.

Unterschied zwischen Garbage Collector und Destructor
Unterschied zwischen Garbage Collector und Destructor

Abbildung 01: Garbage Collector und Destructor

Beim Ausführen eines Programms werden die Speicherblöcke aus dem Systemspeicherpool zugewiesen. Dann führt das Programm die Aufgaben unter Verwendung dieses Speichers aus. Wenn die Programmausführung beendet ist, ermittelt der Garbage Collector, ob die zugewiesenen Speicherblöcke für das Programm wesentlich sind oder nicht. Wenn sie nicht benötigt werden, werden diese Speicherblöcke an das System zurückgegeben. So kann der Garbage Collector die im Programm erstellten Objekte verfolgen. Die nicht mehr benötigten Speicherblöcke werden an den Systemspeicherpool zurückgesendet. Der Hauptvorteil dieses Prozesses besteht darin, zu bestätigen, dass sich der Programmierer nicht auf die Speicherfreigabe konzentrieren muss. Es gleicht Leistung und Speichernutzung aus.

Was ist ein Destruktor?

Ein Destruktor ist eine spezielle Elementfunktion einer Klasse. Es wird immer dann aufgerufen, wenn das Objekt den Gültigkeitsbereich verlässt. Das Objekt kann zerstört werden, wenn eine Funktion endet oder wenn die Programmausführung beendet ist. Der Destruktor hat denselben Namen wie der Klassenname. Der Konstruktor wird zum Erstellen des Objekts verwendet. Es kann Parameter akzeptieren. Der Konstruktor kann auch Rückgabewerte haben. In einem Destruktor gibt es jedoch keinen Rückgabetyp oder akzeptierende Parameter. Eine Klasse kann nur aus einem Destruktor bestehen. Ein Destruktor wird mit dem Tilde-Zeichen bezeichnet. Wenn der Klassenname Student ist, lautet der Destruktor ~ Student () {}.

Der Garbage Collector sucht nach Objekten, die nicht mehr benötigt werden. Es stellt sicher, dass die Objekte, die nicht mehr vom Programm verwendet werden, zerstört werden. Es ruft den Destruktor auf, um den Speicher freizugeben und die Ressourcen freizugeben. Destruktoren sind nützlich, um Speicher freizugeben, Dateien zu schließen, Netzwerkressourcen freizugeben und Datenbankverbindungen zu schließen. In den meisten Programmiersprachen ist es nicht erforderlich, den Destruktor zu schreiben, da der Garbage Collector den Standardkonstruktor selbstständig aufruft. Wenn der Programmierer eine dynamische Speicherzuweisung mithilfe von Zeigern in einer Sprache wie C ++ durchgeführt hat, sollte er einen Destruktor schreiben, um Speicher freizugeben, bevor das Objekt zerstört wird.

Was ist die Ähnlichkeit zwischen Garbage Collector und Destructor?

Sowohl Garbage Collector als auch Destructor werden verwendet, um Speicher freizugeben, der für das Programm nicht mehr benötigt wird

Was ist der Unterschied zwischen Garbage Collector und Destructor?

Diff Artikel Mitte vor Tabelle

Garbage Collector gegen Destructor

Ein Garbage Collector ist eine Software, die eine automatische Speicherverwaltung durchführt. Ein Destruktor ist eine spezielle Methode, die vom Garbage Collector während der Zerstörung des Objekts aufgerufen wird.
Art
Ein Garbage Collector ist eine Software. Ein Destruktor ist eine Methode.

Zusammenfassung - Garbage Collector gegen Destructor

Garbage Collector und Destructor sind zwei Begriffe, die mit der Freigabe von Speicher verbunden sind. In diesem Artikel wurde der Unterschied zwischen Garbage Collector und Destructor erläutert. Der Unterschied zwischen dem Garbage Collector und dem Destructor besteht darin, dass ein Garbage Collector eine Software ist, die eine automatische Speicherverwaltung durchführt, während ein Destructor eine spezielle Methode ist, die vom Garbage Collector während der Zerstörung des Objekts aufgerufen wird.

Laden Sie das PDF von Garbage Collector vs Destructor herunter

Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitierhinweis für Offline-Zwecke verwenden. Bitte laden Sie die PDF-Version hier herunter: Unterschied zwischen Garbage Collector und Destructor

Empfohlen: