Forskjellen Mellom Garbage Collector Og Destructor

Innholdsfortegnelse:

Forskjellen Mellom Garbage Collector Og Destructor
Forskjellen Mellom Garbage Collector Og Destructor

Video: Forskjellen Mellom Garbage Collector Og Destructor

Video: Forskjellen Mellom Garbage Collector Og Destructor
Video: Сборка мусора (Garbage Collection, GC) .NET в C# - Учим Шарп #28 2024, Kan
Anonim

Nøkkelforskjell - Søppeloppsamler vs Destructor

De fleste programmeringsspråk støtter Objektorientert programmering. Det er en metode for å bygge et program eller en programvare som bruker 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, tildeles minne til objektene. Det tildelte minnet skal frigis på slutten av programutførelsen for å gjenbruke minnet til et annet objekt. Programmeringsspråk som Java og C #. NET bruker søppeloppsamlere for minnestyring mens språk som C og C ++ krever at programmereren håndterer minnestyring. Den nødvendige mengden minne skal tildeles, og på slutten av utførelsen skal minnet frigjøres. Søppeloppsamleren og destruktoren brukes til å frigjøre minne. Hovedforskjellen mellom søppeloppsamleren og destruktoren er at en søppeloppsamler er en programvare som utfører automatisk minnestyring mens en destruktør er en spesiell metode som kalles av søppeloppsamleren under ødeleggelsen av objektet.

INNHOLD

1. Oversikt og nøkkelforskjell

2. Hva er en søppeloppsamler

3. Hva er en destruktør

4. Likheter mellom søppeloppsamler og destruktør

5. Sammenligning ved siden av hverandre - Søppeloppsamler vs destruktør i tabellform

6. Oppsummering

Hva er en søppeloppsamler?

Noen programmeringsspråk har administrerte kodemiljøer. I programmeringsspråk Java og C # utføres automatisk minnestyring. Programmereren trenger ikke å frigjøre minnet som brukes av objektene. Det er lettere for dem å utvikle til og med komplekse systemer fordi minnestyringen 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 disse objektene tilbake til systemet.

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

Forskjellen mellom Garbage Collector og Destructor
Forskjellen mellom Garbage Collector og Destructor

Figur 01: Søppeloppsamler og ødelegger

Når du kjører et program, tildeles minneblokkene fra systemminnet. Deretter utfører programmet oppgavene ved hjelp av det minnet. Når programutførelsen er over, finner søppeloppsamleren ut om de tildelte minneblokkene for programmet er avgjørende eller ikke. Hvis de ikke kreves, returneres disse minneblokkene til systemet. Så, søppeloppsamleren kan spore de opprettet objektene i programmet. Minneblokkene som ikke lenger er nødvendige, sendes tilbake til systemminnet. Hovedfordelen med denne prosessen er å bekrefte at programmereren ikke trenger å konsentrere seg om minnedeallokaliseringen. Den balanserer ytelse og minnebruk.

Hva er en Destructor?

En destruktør er en spesiell medlemsfunksjon i en klasse. Det påkalles når objektet går utenfor omfanget. Objektet kan ødelegges når en funksjon avsluttes eller på slutten av programutførelsen. Destruktoren 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 akseptparametere. En klasse kan bare bestå av en destruktør. En destruktør blir henvist ved hjelp av tilde-tegnet. Hvis klassenavnet er Student, er destruktøren ~ Student () {}.

Søppeloppsamleren ser etter gjenstandene som ikke er påkrevet lenger. Det sikrer at objektene som ikke lenger brukes av programmet, skal ødelegges. Det kaller destruktøren for å frigjøre minnet og for å fordele ressursene. Destruktører er nyttige for å frigjøre minne, lukke filer, frigjøre nettverksressurser og for å lukke databaseforbindelser. I de fleste programmeringsspråk er det ikke nødvendig å skrive destruktoren fordi søppeloppsamleren kaller standardkonstruktøren på egenhånd. Hvis programmereren har gjort en dynamisk minnetildeling ved hjelp av pekere på et språk som C ++, bør han skrive en destruktør for å frigjøre minne før objektet blir ødelagt.

Hva er likheten mellom søppeloppsamler og ødelegger?

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

Hva er forskjellen mellom søppeloppsamler og ødelegger?

Diff Article Midt før tabell

Søppeloppsamler vs Destructor

En søppeloppsamler er en programvare som utfører automatisk minnestyring. En destruktør er en spesiell metode kalt av søppeloppsamleren under ødeleggelsen av objektet.
Type
En søppeloppsamler er en programvare. En ødelegger er en metode.

Sammendrag - Garbage Collector vs Destructor

Søppeloppsamler og ødelegger er to begreper forbundet med å frigjøre minne. Denne artikkelen diskuterte forskjellen mellom søppeloppsamler og ødelegger. Forskjellen mellom søppeloppsamleren og destruktoren er at en søppeloppsamler er en programvare som utfører automatisk minnehåndtering mens en destruktør er en spesiell metode som kalles av søppeloppsamleren under ødeleggelsen av objektet.

Last ned PDF-en av Garbage Collector vs Destructor

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til frakoblede formål som angitt i en henvisning. Last ned PDF-versjonen her: Forskjellen mellom søppeloppsamler og ødelegger

Anbefalt: