Forskjellen mellom søppeloppsamler og destruktor

Innholdsfortegnelse:

Forskjellen mellom søppeloppsamler og destruktor
Forskjellen mellom søppeloppsamler og destruktor

Video: Forskjellen mellom søppeloppsamler og destruktor

Video: Forskjellen mellom søppeloppsamler og destruktor
Video: Пропавшая энергетика прошлого. Почему скрывают старинные инструменты? 2024, Juli
Anonim

Key Difference – Garbage Collector vs Destructor

De fleste programmeringsspråk støtter objektorientert programmering. Det er en metodikk for å bygge et program eller en programvare ved hjelp av objekter. Et objekt er opprettet 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 oppretter objekter, tildeles minne til objektene. Det tildelte minnet bør frigjøres på slutten av programkjøringen for å gjenbruke det minnet for et annet objekt. 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 bør tildeles, og på slutten av utførelsen bør minnet frigjøres. Søppelsamleren og destruktoren brukes til å frigjøre minne. Den viktigste forskjellen mellom søppelsamleren og destruktoren er at en søppeloppsamler er en programvare som utfører automatisk minnehåndtering mens en destruktor er en spesiell metode som kalles av søppelsamleren under destruksjonen av objektet.

Hva er en søppeloppsamler?

Noen programmeringsspråk har administrerte kodemiljøer. I programmeringsspråkene Java og C utføres automatisk minnebehandling. Programmereren trenger ikke å frigjøre minnet som brukes av objektene. Det er lettere for dem å utvikle selv komplekse systemer fordi minnebehandlingen gjøres automatisk. I programmeringsspråk som C, C++ og Objective C, bør programmet frigi minnet til objektene tilbake til systemet. Språk som Java og C kan finne ut objektene som ikke lenger brukes. Etterpå slipper de minnet som er tildelt for disse objektene tilbake til systemet.

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

Forskjellen mellom søppelsamler og destruktor
Forskjellen mellom søppelsamler og destruktor

Figur 01: Søppeloppsamler og destruktor

Når et program kjøres, tildeles minneblokkene fra systemminnepoolen. Deretter utfører programmet oppgavene ved å bruke det minnet. Når programkjøringen er over, finner søppelsamleren ut om de tildelte minneblokkene for programmet er avgjørende eller ikke. Hvis de ikke er nødvendige, returneres disse minneblokkene til systemet. Så søppelsamleren kan spore de opprettede objektene i programmet. Minneblokkene som ikke lenger er nødvendige sendes tilbake til systemminnepoolen. Hovedfordelen med denne prosessen er å bekrefte at programmereren ikke trenger å konsentrere seg om minnedeallokeringen. Den balanserer ytelse og minnebruk.

Hva er en Destructor?

En destruktor er en spesiell medlemsfunksjon i en klasse. Den påkalles når objektet går utenfor rekkevidden. Objektet kan bli ødelagt når en funksjon avsluttes eller på slutten av programkjøringen. Destruktoren har samme navn som klassenavnet. Konstruktøren brukes til å lage objektet. Den kan godta parametere. Konstruktøren kan også ha returverdier. Men i en Destructor er det ingen returtype eller aksepterende parametere. En klasse kan bare bestå av én destruktor. En destruktor henvises ved hjelp av tilde-tegnet. Hvis klassenavnet er Student, er destruktoren ~Student () {}.

Søppelsamleren ser etter gjenstandene som ikke lenger er nødvendige. Den sikrer at objektene som ikke lenger brukes av programmet skal ødelegges. Den kaller destruktoren for å frigjøre minnet og tildele ressursene. Destruktorer 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øppelsamleren kaller standardkonstruktøren på egen hånd. Hvis programmereren har gjort en dynamisk minneallokering ved å bruke pekere på et språk som C++, bør han skrive en destruktor for å frigjøre minne før objektet blir ødelagt.

Hva er likheten mellom søppeloppsamler 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øppeloppsamler og destruktor?

Garbage Collector vs Destructor

En søppelsamler er en programvare som utfører automatisk minnebehandling. En destruktor er en spesiell metode som kalles av søppelsamleren under ødeleggelsen av objektet.
Type
En søppelsamler er en programvare. En destruktor er en metode.

Sammendrag – Garbage Collector vs Destructor

Søppelsamler og destruktor er to begreper knyttet til frigjøring av minne. Denne artikkelen diskuterte forskjellen mellom Garbage Collector og destructor. Forskjellen mellom søppelsamleren og destruktoren er at en søppelsamler er en programvare som utfører automatisk minnehåndtering mens en destruktor er en spesiell metode som kalles av søppelsamleren 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 offline-formål i henhold til sitat. Last ned PDF-versjonen her: Difference Between Garbage Collector and Destructor

Anbefalt: