Skillnaden Mellan Garbage Collector Och Destructor

Innehållsförteckning:

Skillnaden Mellan Garbage Collector Och Destructor
Skillnaden Mellan Garbage Collector Och Destructor

Video: Skillnaden Mellan Garbage Collector Och Destructor

Video: Skillnaden Mellan Garbage Collector Och Destructor
Video: Hamsters VS Gerbils (as pets) 2024, Maj
Anonim

Nyckelskillnad - Garbage Collector vs Destructor

De flesta programmeringsspråk stöder objektorienterad programmering. Det är en metod för att bygga ett program eller en programvara som använder objekt. Ett objekt skapas med hjälp av en klass, så det är en förekomst av en klass. En klass ger en beskrivning av vad objektet ska bestå av. När du skapar objekt tilldelas minnet för objekten. Det tilldelade minnet bör släppas i slutet av programkörningen för att återanvända minnet för något annat objekt. Programmeringsspråk som Java och C #. NET använder skräpsamlare för minneshantering medan språk som C och C ++ kräver att programmeraren hanterar minneshantering. Den nödvändiga mängden minne ska tilldelas och i slutet av körningen bör minnet frigöras. Garbage collector och destruktorn används för att släppa minne. Huvudskillnaden mellan sopuppsamlaren och förstöraren är att en sopuppsamlare är en programvara som utför automatisk minneshantering medan en förstörare är en speciell metod som kallas av sopuppsamlaren under förstörelsen av objektet.

INNEHÅLL

1. Översikt och nyckelskillnad

2. Vad är en sopuppsamlare

3. Vad är en förstörare

4. Likheter mellan sopuppsamlare och förstörare

5. Jämförelse sida vid sida - Sopuppsamlare mot förstörare i tabellform

6. Sammanfattning

Vad är en sopor?

Vissa programmeringsspråk har hanterade kodmiljöer. I programmeringsspråk Java och C # utförs automatisk minneshantering. Programmeraren behöver inte frigöra minnet som används av objekten. Det är lättare för dem att utveckla även komplexa system eftersom minneshanteringen sker automatiskt. I programmeringsspråk som C, C ++ och Objective C bör programmet frigöra objektets minne till systemet. Språk som Java och C # kan räkna ut de objekt som inte längre används. Därefter släpper de tillbaka det minne som tilldelats för dessa objekt till systemet.

I programmeringsspråk C # och Java, om det finns en klass som heter Student, kan ett objekt skapas med Student s = new Student (); Den "nya" används för att skapa en förekomst av studentklassen. Det tilldelar minne i systemet. 'S' hänvisar till det minnesblock som tilldelats för det objektet. Språkmiljöerna identifierar om objekten används eller inte. Om de inte används längre släpps minnet och kan användas senare.

Skillnaden mellan Garbage Collector och Destructor
Skillnaden mellan Garbage Collector och Destructor

Figur 01: Garbage Collector and Destructor

När du kör ett program allokeras minnesblocken från systemminnespoolen. Sedan utför programmet uppgifterna med det minnet. När programkörningen är över, räknar sopuppsamlaren ut om de tilldelade minnesblocken för programmet är väsentliga eller inte. Om de inte krävs returneras dessa minnesblock till systemet. Så kan sopuppsamlaren spåra de skapade objekten i programmet. De minnesblock som inte längre krävs skickas tillbaka till systemminnespoolen. Den största fördelen med denna process är att bekräfta att programmeraren inte behöver koncentrera sig på minnesavtalslokaliseringen. Det balanserar prestanda och minnesanvändning.

Vad är en förstörare?

En destruktör är en speciell medlemsfunktion i en klass. Det åberopas närhelst objektet går utanför räckvidden. Objektet kan förstöras när en funktion avslutas eller i slutet av programkörningen. Destruktören har samma namn som klassnamnet. Konstruktören används för att skapa objektet. Det kan acceptera parametrar. Konstruktören kan också ha returvärden. Men i en Destructor finns det ingen returtyp eller accepterande parametrar. En klass kan bara bestå av en förstörare. En destruktör hänvisas med tilde-skylten. Om klassnamnet är Student är förstöraren ~ Student () {}.

Sopsamlaren letar efter föremål som inte längre behövs. Det säkerställer att de objekt som inte längre används av programmet ska förstöras. Det kallar förstöraren att frigöra minnet och att fördela resurserna. Destruktorer är användbara för att frigöra minne, stänga filer, släppa nätverksresurser och för att stänga databasanslutningar. I de flesta programmeringsspråk är det inte nödvändigt att skriva destruktorn eftersom skräpsamlaren kallar standardkonstruktören på egen hand. Om programmeraren har gjort någon dynamisk minnestilldelning med pekare på ett språk som C ++, ska han skriva en förstörare för att frigöra minne innan objektet förstörs.

Vad är likheten mellan sopor och destruktör?

Både Garbage Collector och Destructor används för att frigöra minne som inte längre krävs för programmet

Vad är skillnaden mellan sopuppsamlare och förstörare?

Skilja artikeln mitt före bordet

Garbage Collector vs Destructor

En sopuppsamlare är en programvara som utför automatisk minneshantering. En förstörare är en speciell metod som soporn samlar under förstörelsen av objektet.
Typ
En sopuppsamlare är en mjukvara. En förstörare är en metod.

Sammanfattning - Garbage Collector vs Destructor

Garbage collector and destructor är två termer associerade med att släppa minne. Den här artikeln diskuterade skillnaden mellan Garbage Collector och destruktor. Skillnaden mellan sopuppsamlaren och destruktorn är att en sopuppsamlare är en programvara som utför automatisk minneshantering medan en destruktör är en speciell metod som sopuppsamlaren anropar under förstörelsen av objektet.

Ladda ner PDF-filen från Garbage Collector vs Destructor

Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här: Skillnaden mellan sopor och destruktör

Rekommenderas: