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.
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
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.
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.
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. |
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.
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
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