Skillnad mellan sopor och destructor

Huvudskillnad - Sopkollektor mot destructor
 

De flesta programmeringsspråk stöder objektorienterad programmering. Det är en metod att bygga ett program eller en programvara med hjälp av objekt. Ett objekt skapas med 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 minne för objekten. Det tilldelade minnet ska släppas i slutet av programkörningen för att återanvända det minnet för något annat objekt. Programmeringsspråk som Java och C #. NET använder sopsamlare för minneshantering medan språk som C och C ++ kräver att programmeraren hanterar minneshantering. Den nödvändiga mängden minne bör tilldelas, och i slutet av körningen bör minnet släppas. Garbage collector och destructor används för att släppa minnet. De nyckelskillnad mellan sopsamlare och destructor är det en sopsamlare är en programvara som utför automatisk minneshantering medan en destructor är en speciell metod som kallas av sopsamlare vid förstöringen av objektet.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är en Garbage Collector
3. Vad är en Destructor
4. Likheter mellan Garbage Collector och Destructor
5. Sida vid sidajämförelse - Sopkollektor vs Destructor i tabellform
6. Sammanfattning

Vad är en Garbage Collector?

Vissa programmeringsspråk har lyckats med 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 jämn komplexa system eftersom minneshanteringen sker automatiskt. I programmeringsspråk som C, C ++ och Objective C, bör programmet släppa objektets minne tillbaka till systemet. Språk som Java och C # kan räkna ut objekten som inte längre används. Därefter släpper de minnet tilldelat för dessa objekt tillbaka till systemet.

I programmeringsspråk C # och Java, om det finns en klass som heter Student, kan ett objekt skapas med Student s = ny 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 är tilldelat för det objektet. Språkmiljöerna identifierar om objekten används eller inte. Om de inte används vidare, släpps minnet och kan användas senare.

Figur 01: Garbage Collector och Destructor

När ett program körs, tilldelas minnesblocken från systemminnepoolen. Då utförs programmet med det här minnet. När programutförandet är slutförklaras soporuppsamlaren om de tilldelade minnesblocken för programmet är väsentliga eller inte. Om de inte är nödvändiga, returneras dessa minnesblock till systemet. Så kan soporuppsamlaren spåra de skapade objekten i programmet. Minnesblocken som inte längre behövs skickas tillbaka till systemminnepoolen. Den största fördelen med denna process är att bekräfta att programmeraren inte behöver koncentrera sig på minnesfördelningen. Det balanserar prestandan och minnesanvändningen.

Vad är en Destructor?

En destructor är en speciell medlemsfunktion i en klass. Det åberopas när objektet faller utanför omfattningen. Objektet kan förstöras när en funktion slutar eller i slutet av programkörningen. Destructor har samma namn som klassnamnet. Konstruktorn 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 destructor. En destructor hänvisas med hjälp av tilde-tecknet. Om klassnamnet är Student, så är destructoren ~ Student () .

Sopkolleken söker efter de föremål som inte behövs längre. Det säkerställer att objekten som inte längre används av programmet ska förstöras. Det kallar destructorn för att släppa minnet och att fördela resurserna. Destructors är användbara för att släppa minne, stänga filer, släppa nätverksresurser och stänga databasanslutningar. I de flesta programmeringsspråk är det inte nödvändigt att skriva destruktorn eftersom sopsamlaren själv kallar standardkonstruktorn. Om programmeraren har gjort någon dynamisk minnesallokering med hjälp av pekare på ett språk som C ++, ska han skriva en destructor för att släppa minnet innan objektet förstörs.

Vad är likheten mellan Garbage Collector och Destructor?

  • Både Garbage Collector och Destructor används för att släppa minne som inte längre krävs för programmet.

Vad är skillnaden mellan Garbage Collector och Destructor?

Garbage Collector vs Destructor

En sopsamlare är en programvara som utför automatisk minneshantering. En destructor är en speciell metod som kallas av sopsamlare under förstörelsen av föremålet.
 Typ
En sopsamlare är en mjukvara. En destructor är en metod.

Sammanfattning - Skräp samlare mot destructor

Sopsamlare och destructor är två termer i samband med att släppa minnet. Denna artikel diskuterade skillnaden mellan sopor och destructor. Skillnaden mellan sopor och destructor är att en sopsamlare är en programvara som utför automatisk minneshantering medan en destructor är en speciell metod som kallas av sopsamlare vid förstöringen av objektet.

Ladda ner PDF av 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 citationsnotat. Var god ladda ner PDF-versionen här: Skillnad mellan Garbage Collector och Destructor

Referens:

1.lyndapodcast. "Hur C # sopsamling fungerar | lynda. Com tutorial. "Hur C # sophämtning fungerar | lynda.Com handledning, LinkedIn Learning Solutions, 19 september 2011. Tillgänglig här 
2.Destructors in C. "GeeksforGeeks, 27 maj 2017. Tillgänglig här  
3.Jain, Shubham. "Garbage Collector And Destructor I C #." C # Corner. Tillgänglig här