Verschil Tussen Garbage Collector En Destructor

Inhoudsopgave:

Verschil Tussen Garbage Collector En Destructor
Verschil Tussen Garbage Collector En Destructor

Video: Verschil Tussen Garbage Collector En Destructor

Video: Verschil Tussen Garbage Collector En Destructor
Video: Сборка мусора (Garbage Collection, GC) .NET в C# - Учим Шарп #28 2024, December
Anonim

Belangrijkste verschil - Garbage Collector vs Destructor

De meeste programmeertalen ondersteunen Object Oriented Programming. Het is een methodologie om een programma of software te bouwen met behulp van objecten. Een object wordt gemaakt met behulp van een klasse, dus het is een instantie van een klasse. Een klasse geeft de beschrijving van waaruit het object moet bestaan. Bij het maken van objecten wordt geheugen toegewezen aan de objecten. Het toegewezen geheugen moet aan het einde van de programma-uitvoering worden vrijgegeven om dat geheugen voor een ander object te hergebruiken. Programmeertalen zoals Java en C #. NET gebruiken garbage collectors voor geheugenbeheer, terwijl talen zoals C en C ++ vereisen dat de programmeur het geheugenbeheer afhandelt. De benodigde hoeveelheid geheugen moet worden toegewezen en aan het einde van de uitvoering moet het geheugen worden vrijgegeven. De Garbage collector en destructor worden gebruikt om geheugen vrij te geven. Het belangrijkste verschil tussen de garbage collector en destructor is dat een garbage collector software is die automatisch geheugenbeheer uitvoert, terwijl een destructor een speciale methode is die door de garbage collector wordt aangeroepen tijdens de vernietiging van het object.

INHOUD

1. Overzicht en belangrijkste verschil

2. Wat is een Garbage Collector

3. Wat is een Destructor

4. Overeenkomsten tussen Garbage Collector en Destructor

5. Vergelijking zij aan zij - Garbage Collector versus Destructor in tabelvorm

6. Samenvatting

Wat is een Garbage Collector?

Sommige programmeertalen hebben beheerde code-omgevingen. In programmeertalen Java en C # wordt automatisch geheugenbeheer uitgevoerd. De programmeur hoeft niet het geheugen vrij te maken dat door de objecten wordt gebruikt. Het is voor hen gemakkelijker om zelfs complexe systemen te ontwikkelen omdat het geheugenbeheer automatisch gebeurt. In programmeertalen zoals C, C ++ en Objective C moet het programma het geheugen van de objecten weer vrijgeven aan het systeem. Talen zoals Java en C # kunnen de objecten achterhalen die niet langer worden gebruikt. Daarna geven ze het geheugen dat voor die objecten is toegewezen weer vrij aan het systeem.

Als er in programmeertalen C # en Java een klasse is met de naam Student, dan kan een object worden gemaakt met Student s = new Student (); De 'nieuwe' wordt gebruikt om een instantie van Student-klasse te maken. Het wijst geheugen toe in het systeem. De 's' verwijst naar het geheugenblok dat is toegewezen aan dat object. De taalomgevingen geven aan of de objecten al dan niet worden gebruikt. Als ze niet verder worden gebruikt, wordt het geheugen vrijgegeven en kan het later worden gebruikt.

Verschil tussen Garbage Collector en Destructor
Verschil tussen Garbage Collector en Destructor

Figuur 01: Garbage Collector en Destructor

Bij het uitvoeren van een programma worden de geheugenblokken toegewezen uit de systeemgeheugenpool. Vervolgens voert het programma de taken uit met behulp van dat geheugen. Wanneer de uitvoering van het programma voorbij is, zoekt de garbage collector uit of de toegewezen geheugenblokken voor het programma essentieel zijn of niet. Als ze niet nodig zijn, worden die geheugenblokken teruggestuurd naar het systeem. De garbage collector kan dus de gemaakte objecten in het programma volgen. De geheugenblokken die niet langer nodig zijn, worden teruggestuurd naar de systeemgeheugenpool. Het belangrijkste voordeel van dit proces is om te bevestigen dat de programmeur zich niet hoeft te concentreren op de geheugentoewijzing. Het brengt prestaties en geheugengebruik in evenwicht.

Wat is een vernietiger?

Een destructor is een speciale lidfunctie van een klasse. Het wordt aangeroepen wanneer het object buiten het bereik gaat. Het object kan worden vernietigd wanneer een functie eindigt of aan het einde van de programma-uitvoering. De destructor heeft dezelfde naam als de klassenaam. De constructor wordt gebruikt om het object te maken. Het kan parameters accepteren. De constructor kan ook retourwaarden hebben. Maar in een Destructor is er geen retourtype of acceptatieparameters. Een klasse kan maar uit één destructor bestaan. Een destructor wordt verwezen met het tilde-teken. Als de klasnaam Student is, dan is de destructor ~ Student () {}.

De garbage collector zoekt naar de objecten die niet meer nodig zijn. Het zorgt ervoor dat de objecten die niet langer door het programma worden gebruikt, worden vernietigd. Het roept de destructor op om het geheugen vrij te geven en de middelen vrij te geven. Destructors zijn handig om geheugen vrij te maken, bestanden te sluiten, netwerkbronnen vrij te geven en databaseverbindingen te sluiten. In de meeste programmeertalen is het niet nodig om de destructor te schrijven, omdat de garbage collector zelf de standaardconstructor aanroept. Als de programmeur een dynamische geheugentoewijzing heeft gedaan met behulp van pointers in een taal als C ++, dan moet hij een destructor schrijven om geheugen vrij te maken voordat het object wordt vernietigd.

Wat is de overeenkomst tussen Garbage Collector en Destructor?

Zowel Garbage Collector als Destructor worden gebruikt om geheugen vrij te maken dat niet langer nodig is voor het programma

Wat is het verschil tussen Garbage Collector en Destructor?

Diff Artikel Midden voor Tafel

Garbage Collector vs Destructor

Een garbage collector is een software die automatisch geheugenbeheer uitvoert. Een destructor is een speciale methode die door de garbage collector wordt aangeroepen tijdens de vernietiging van het object.
Type
Een garbage collector is een software. Een destructor is een methode.

Samenvatting - Garbage Collector vs Destructor

Garbage collector en destructor zijn twee termen die verband houden met het vrijgeven van geheugen. Dit artikel besprak het verschil tussen Garbage Collector en Destructor. Het verschil tussen de garbage collector en destructor is dat een garbage collector software is die automatisch geheugenbeheer uitvoert, terwijl een destructor een speciale methode is die door de garbage collector wordt aangeroepen tijdens de vernietiging van het object.

Download de pdf van Garbage Collector vs Destructor

U kunt de pdf-versie van dit artikel downloaden en offline gebruiken volgens de citatienota. Download de pdf-versie hier: Verschil tussen Garbage Collector en Destructor

Aanbevolen: