Forskjellen mellom søppelkollektor og destructor

Nøkkelforskjell - Garbage Collector vs Destructor
 

De fleste programmeringsspråk støtter Object Oriented Programming. Det er en metode for å bygge et program eller en programvare ved hjelp av objekter. Et objekt opprettes ved hjelp av en klasse, så det er en forekomst av en klasse. En klasse gir beskrivelsen av hva objektet skal bestå av. Når du lager objekter, blir minne tildelt for objektene. Det tildelte minnet skal utgis ved slutten av programutførelsen for å gjenbruke det minnet for en annen gjenstand. Programmeringsspråk som Java og C # .NET bruker søppelsamlere for minnehåndtering mens språk som C og C ++ krever at programmereren håndterer minnehåndtering. Den nødvendige mengden minne skal tildeles, og på slutten av utførelsen skal minnet frigis. Garbage collector og destructor brukes til å frigjøre minne. De nøkkelforskjell mellom søppelkollektor og destruktor er det en søppelkollektor er en programvare som utfører automatisk minnehåndtering mens en destructor er en spesiell metode kalt av søppelkollektor under ødeleggelsen av objektet.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er en Garbage Collector
3. Hva er en Destructor
4. Likheter mellom søppelkollektor og destruktor
5. Side ved side-sammenligning - Garbage Collector vs Destructor i tabellform
6. Sammendrag

Hva er en Garbage Collector?

Noen programmeringsspråk har klart kode miljøer. I programmeringsspråk Java og C # utføres automatisk minnehåndtering. Programmereren trenger ikke å frigjøre minnet som brukes av objektene. Det er lettere for dem å utvikle enda komplekse systemer fordi minnehåndteringen gjøres automatisk. I programmeringsspråk som C, C ++ og Objective C, bør programmet frigjøre minnet til objektene tilbake til systemet. Språk som Java og C # kan finne ut objektene som ikke lenger brukes. Etterpå frigjør de minnet som er tildelt for gjenstandene tilbake til systemet.

I programmeringsspråk C # og Java, hvis det er en klasse som heter Student, kan en objekt opprettes ved hjelp av Student s = ny student (); Den "nye" brukes til å lage en forekomst av Student klasse. Det tildeler minne i systemet. 'S' refererer til minnesblokken som er tildelt for objektet. Språkmiljøene identifiserer om objektene blir brukt eller ikke. Hvis de ikke brukes videre, blir minnet frigitt og kan brukes senere.

Figur 01: Garbage Collector og Destructor

Når du kjører et program, blir minneblokkene allokert fra systemminnebassenget. Deretter utfører programmet oppgavene som bruker det minnet. Når programutførelsen er over, viser søppelkollektoren om de tildelte blokkene med minne for programmet er avgjørende eller ikke. Hvis de ikke er påkrevd, blir disse minneblokkene returnert til systemet. Så kan søppelsamleren spore de opprettede objektene i programmet. Minneblokkene som ikke lenger kreves, sendes tilbake til systemminnebassenget. Den største fordelen med denne prosessen er å bekrefte at programmereren ikke trenger å konsentrere seg om minnetallokering. Det balanserer ytelse og minnebruk.

Hva er en Destructor?

En destructor er en spesiell medlemsfunksjon av en klasse. Det påberopes når objektet går ut av omfanget. Objektet kan bli ødelagt når en funksjon avsluttes eller ved slutten av programgjennomgangen. Destructor har samme navn som klassenavnet. Konstruktøren brukes til å lage objektet. Det kan akseptere parametere. Konstruktøren kan også ha returverdier. Men i en destructor er det ingen returtype eller aksepterende parametere. En klasse kan bare bestå av en destructor. En destructor er referert ved hjelp av tilde-tegnet. Hvis klassenavnet er Student, så er destructoren ~ Student () .

Søppelkolleken ser etter gjenstandene som ikke er påkrevd lenger. Det sikrer at objektene som ikke lenger brukes av programmet, skal ødelegges. Det kaller destructoren for å frigjøre minnet og å allokere ressursene. Destructors er nyttige for å frigjøre minne, lukke filer, slippe nettverksressurser og lukke databaseforbindelser. I de fleste programmeringsspråk er det ikke nødvendig å skrive destructoren fordi søppelkollektoren kaller standardkonstruktøren alene. Hvis programmereren har gjort dynamisk minneallokering ved hjelp av pekere på et språk som C ++, bør han skrive en destructor for å frigjøre minne før objektet blir ødelagt.

Hva er likheten mellom søppelkollektor og destruktor?

  • Både Garbage Collector og Destructor brukes til å frigjøre minne som ikke lenger er nødvendig for programmet.

Hva er forskjellen mellom søppelkollektor og destruktor?

Garbage Collector vs Destructor

En søppelkollektor er en programvare som utfører automatisk minnehåndtering. En destructor er en spesiell metode kalt av søppelkollektor under ødeleggelsen av objektet.
 Type
En søppelkollektor er en programvare. En destructor er en metode.

Sammendrag - Søppelmann vs Destructor

Søppelkollektor og destructor er to termer knyttet til utgivelse av minne. Denne artikkelen diskuterte forskjellen mellom Garbage Collector og destructor. Forskjellen mellom søppelkollektor og destructor er at en søppelkollektor er en programvare som utfører automatisk minnehåndtering mens en destructor er en spesiell metode kalt av søppelkollektor under ødeleggelsen av objektet.

Last ned PDF fra Garbage Collector vs Destructor

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til nettbasert bruk som per sitatnotat. Vennligst last ned PDF-versjonen her: Forskjellen mellom Garbage Collector og Destructor

Henvisning:

1.lyndapodcast. "Hvordan C # søppel samling fungerer | Lynda. Kom-veiledning. "Hvordan C # søppelsamling fungerer | lynda.Com opplæring, LinkedIn Learning Solutions, 19. september 2011. Tilgjengelig her 
2.Destructors i C. "GeeksforGeeks, 27. mai 2017. Tilgjengelig her  
3.Jain, Shubham. "Garbage Collector And Destructor I C #." C # Corner. Tilgjengelig her