Nøgleforskel - Garbage Collector vs Destructor
De fleste programmeringssprog understøtter objektorienteret programmering. Det er en metode til at opbygge et program eller en software ved hjælp af objekter. Et objekt oprettes ved hjælp af en klasse, så det er en forekomst af en klasse. En klasse giver beskrivelsen af, hvad objektet skal bestå af. Når objekter oprettes, tildeles hukommelse til objekterne. Den tildelte hukommelse skal frigives i slutningen af programudførelsen for at genbruge hukommelsen til et andet objekt. Programmeringssprog som Java og C #. NET bruger affaldssamlere til hukommelsesstyring, mens sprog som C og C ++ kræver, at programmøren håndterer hukommelsesstyring. Den nødvendige mængde hukommelse skal tildeles, og i slutningen af udførelsen skal hukommelsen frigives. Affaldssamleren og destruktoren bruges til at frigive hukommelse. Hovedforskellen mellem affaldssamleren og destruktoren er, at en affaldssamler er en software, der udfører automatisk hukommelsesstyring, mens en destruktør er en speciel metode, der kaldes af affaldssamleren under ødelæggelsen af objektet.
INDHOLD
1. Oversigt og nøgleforskel
2. Hvad er en affaldssamler
3. Hvad er en destruktor
4. Ligheder mellem affaldssamler og destruktor
5. Sammenligning side om side - Affaldssamler vs destruktør i tabelform
6. Resumé
Hvad er en affaldssamler?
Nogle programmeringssprog har administrerede kodemiljøer. I programmeringssprog Java og C # udføres automatisk hukommelsesstyring. Programmøren behøver ikke frigøre den hukommelse, der bruges af objekterne. Det er lettere for dem at udvikle selv komplekse systemer, fordi hukommelsesstyringen udføres automatisk. I programmeringssprog som C, C ++ og Objective C skal programmet frigøre objektets hukommelse tilbage til systemet. Sprog som Java og C # kan finde ud af de objekter, der ikke længere bruges. Bagefter frigiver de hukommelsen, der er allokeret til disse objekter, tilbage til systemet.
I programmeringssprog C # og Java, hvis der er en klasse kaldet Student, så kan et objekt oprettes ved hjælp af Student s = new Student (); Den 'nye' bruges til at oprette en forekomst af elevklassen. Det tildeler hukommelse i systemet. 'S' henviser til den hukommelsesblok, der er allokeret til det pågældende objekt. Sprogmiljøerne identificerer, om objekterne bruges eller ej. Hvis de ikke bruges yderligere, frigives hukommelsen og kan bruges senere.
Figur 01: Affaldssamler og destruktor
Når et program køres, tildeles hukommelsesblokkene fra systemhukommelsespuljen. Derefter udfører programmet opgaverne ved hjælp af den hukommelse. Når programudførelsen er overstået, regner affaldssamleren ud, om de tildelte hukommelsesblokke til programmet er vigtige eller ej. Hvis de ikke kræves, returneres disse hukommelsesblokke til systemet. Så affaldssamleren kan spore de oprettede objekter i programmet. De hukommelsesblokke, der ikke længere er nødvendige, sendes tilbage til systemhukommelsespuljen. Den største fordel ved denne proces er at bekræfte, at programmøren ikke behøver at koncentrere sig om hukommelsesdeallokationen. Det balancerer ydeevne og hukommelsesforbrug.
Hvad er en Destructor?
En destruktør er en speciel medlemsfunktion i en klasse. Det påberåbes, når objektet går ud af omfanget. Objektet kan ødelægges, når en funktion slutter eller i slutningen af programudførelsen. Destruktøren har samme navn som klassens navn. Konstruktøren bruges til at oprette objektet. Det kan acceptere parametre. Konstruktøren kan også have returværdier. Men i en Destructor er der ingen returtype eller accepterende parametre. En klasse kan kun bestå af en destruktør. En destruktor henvises ved hjælp af tilde-tegnet. Hvis klassens navn er Student, er destruktøren ~ Student () {}.
Affaldssamleren ser efter de genstande, der ikke længere er påkrævet. Det sikrer, at de objekter, der ikke længere bruges af programmet, skal destrueres. Det opfordrer destruktøren til at frigøre hukommelsen og til at fordele ressourcerne. Destruktorer er nyttige til at frigive hukommelse, lukke filer, frigive netværksressourcer og til at lukke databaseforbindelser. I de fleste programmeringssprog er det ikke nødvendigt at skrive destruktoren, fordi affaldssamleren kalder standardkonstruktøren alene. Hvis programmøren har foretaget en dynamisk hukommelsesallokering ved hjælp af pekere på et sprog som C ++, skal han skrive en destruktor for at frigive hukommelse, før objektet ødelægges.
Hvad er ligheden mellem affaldssamler og destruktor?
Både Garbage Collector og Destructor bruges til at frigøre hukommelse, som ikke længere er nødvendig for programmet
Hvad er forskellen mellem affaldssamler og destruktor?
Diff artikel midt foran bordet
Affaldssamler vs Destructor |
|
En affaldssamler er en software, der udfører automatisk hukommelsesstyring. | En destruktor er en speciel metode, som affaldssamleren kalder under ødelæggelsen af objektet. |
Type | |
En affaldssamler er en software. | En destruktor er en metode. |
Resumé - Garbage Collector vs Destructor
Affaldssamler og destruktor er to udtryk forbundet med frigivelse af hukommelse. Denne artikel diskuterede forskellen mellem Garbage Collector og destruktor. Forskellen mellem affaldssamleren og destruktoren er, at en affaldssamler er en software, der udfører automatisk hukommelsesstyring, mens en destruktør er en speciel metode, som affaldssamleren kalder under ødelæggelsen af objektet.
Download PDF'en af Garbage Collector vs Destructor
Du kan downloade PDF-versionen af denne artikel og bruge den til offlineformål som pr. Citatnote. Download venligst PDF-versionen her: Forskellen mellem affaldssamler og destruktor