Verschil tussen vuilnisophaler en vernietiger

Inhoudsopgave:

Verschil tussen vuilnisophaler en vernietiger
Verschil tussen vuilnisophaler en vernietiger

Video: Verschil tussen vuilnisophaler en vernietiger

Video: Verschil tussen vuilnisophaler en vernietiger
Video: What is Garbage Collection(GC)? 2024, December
Anonim

Belangrijk verschil - Garbage Collector vs Destructor

De meeste programmeertalen ondersteunen objectgeoriënteerd programmeren. Het is een methode 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 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 uitvoering van het programma worden vrijgegeven om dat geheugen voor een ander object te hergebruiken. Programmeertalen zoals Java en C. NET gebruiken afvalverzamelaars voor geheugenbeheer, terwijl talen zoals C en C++ vereisen dat de programmeur 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 voor het vrijgeven van geheugen. Het belangrijkste verschil tussen de garbage collector en de 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.

Wat is een vuilnisman?

Sommige programmeertalen hebben beheerde code-omgevingen. In programmeertalen Java en C wordt automatisch geheugenbeheer uitgevoerd. De programmeur hoeft het geheugen dat door de objecten wordt gebruikt niet vrij te maken. 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 terug vrijgeven aan het systeem. Talen zoals Java en C kunnen de objecten achterhalen die niet meer worden gebruikt. Daarna geven ze het geheugen dat voor die objecten is toegewezen, weer vrij aan het systeem.

In programmeertalen C en Java, als er 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 aan het systeem. De 's' verwijst naar het geheugenblok dat voor dat object is toegewezen. De taalomgevingen identificeren of de objecten worden gebruikt of niet. Als ze niet verder worden gebruikt, wordt het geheugen vrijgegeven en kan het later worden gebruikt.

Verschil tussen vuilnisophaler en destructor
Verschil tussen vuilnisophaler en destructor

Figuur 01: Afvalverzamelaar en vernietiger

Bij het uitvoeren van een programma worden de geheugenblokken toegewezen vanuit de systeemgeheugenpool. Vervolgens voert het programma de taken uit met dat geheugen. Wanneer de uitvoering van het programma voorbij is, zoekt de vuilnisman 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 vuilnisman kan dus de gemaakte objecten in het programma volgen. De geheugenblokken die niet meer 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 geheugendeallocatie. Het balanceert prestaties en geheugengebruik.

Wat is een Destructor?

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 uitvoering van het programma. 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 accepterende parameters. Een klasse kan maar uit één destructor bestaan. Een destructor wordt aangeduid met het tilde-teken. Als de klasnaam Student is, dan is de destructor ~Student () {}.

De vuilnisman 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 vuilnisophaler en vernietiger?

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 vuilnisophaler en vernietiger?

Vuilnisophaler vs Destructor

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

Samenvatting – Garbage Collector vs Destructor

Vuilnisophaler 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 de 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 gebruiken voor offline doeleinden volgens de citatienota. Download de PDF-versie hier: Verschil tussen Garbage Collector en Destructor

Aanbevolen: