Diferència entre el recol·lector d'escombraries i el destructor

Taula de continguts:

Diferència entre el recol·lector d'escombraries i el destructor
Diferència entre el recol·lector d'escombraries i el destructor

Vídeo: Diferència entre el recol·lector d'escombraries i el destructor

Vídeo: Diferència entre el recol·lector d'escombraries i el destructor
Vídeo: How to Speak More Advanced Spanish with EL QUE, LO QUE, EL CUAL, LO CUAL and Form Advanced Phrases 2024, Desembre
Anonim

Diferència clau: recol·lector d'escombraries i destructor

La majoria dels llenguatges de programació admeten la programació orientada a objectes. És una metodologia per construir un programa o un programari utilitzant objectes. Un objecte es crea utilitzant una classe, de manera que és una instància d'una classe. Una classe proporciona la descripció de què ha de consistir l'objecte. Quan es creen objectes, s'assigna memòria per als objectes. La memòria assignada s'hauria d'alliberar al final de l'execució del programa per reutilitzar aquesta memòria per a algun altre objecte. Els llenguatges de programació com Java i C. NET utilitzen recol·lectors d'escombraries per a la gestió de la memòria, mentre que llenguatges com C i C++ requereixen que el programador s'ocupi de la gestió de la memòria. S'ha d'assignar la quantitat de memòria necessària i, al final de l'execució, s'ha d'alliberar la memòria. El col·lector d'escombraries i el destructor s'utilitzen per alliberar memòria. La diferència clau entre el col·lector d'escombraries i el destructor és que un col·lector d'escombraries és un programari que realitza una gestió automàtica de la memòria, mentre que un destructor és un mètode especial anomenat pel col·lector d'escombraries durant la destrucció de l'objecte.

Què és un recol·lector d'escombraries?

Alguns llenguatges de programació tenen entorns de codi gestionats. En els llenguatges de programació Java i C, es realitza una gestió automàtica de la memòria. El programador no necessita alliberar la memòria utilitzada pels objectes. És més fàcil per a ells desenvolupar fins i tot sistemes complexos perquè la gestió de la memòria es fa automàticament. En llenguatges de programació com C, C++ i Objective C, el programa hauria d'alliberar la memòria dels objectes de nou al sistema. Llenguatges com Java i C poden esbrinar els objectes que ja no s'utilitzen. Després, alliberen al sistema la memòria assignada per a aquests objectes.

En els llenguatges de programació C i Java, si hi ha una classe anomenada Student, es pot crear un objecte utilitzant Student s=new Student (); El "nou" s'utilitza per crear una instància de la classe Student. Assigna memòria al sistema. La "s" es refereix al bloc de memòria assignat per a aquest objecte. Els entorns de llenguatge identifiquen si els objectes s'utilitzen o no. Si no s'utilitzen més, la memòria s'allibera i es pot utilitzar més tard.

Diferència entre el recol·lector d'escombraries i el destructor
Diferència entre el recol·lector d'escombraries i el destructor

Figura 01: Recollidor i destructor d'escombraries

Quan s'executa un programa, els blocs de memòria s'assignen des de l'agrupació de memòria del sistema. A continuació, el programa realitza les tasques utilitzant aquesta memòria. Quan s'acaba l'execució del programa, el col·lector d'escombraries esbrina si els blocs de memòria assignats per al programa són essencials o no. Si no són necessaris, aquests blocs de memòria es retornen al sistema. Així, el col·lector d'escombraries pot fer un seguiment dels objectes creats al programa. Els blocs de memòria que ja no són necessaris es tornen a enviar a l'agrupació de memòria del sistema. El principal avantatge d'aquest procés és confirmar que el programador no s'ha de concentrar en la desassignació de memòria. Equilibra el rendiment i l'ús de la memòria.

Què és un destructor?

Un destructor és una funció de membre especial d'una classe. S'invoca sempre que l'objecte surt de l'abast. L'objecte es pot destruir quan una funció acaba o al final de l'execució del programa. El destructor té el mateix nom que el nom de la classe. El constructor s'utilitza per crear l'objecte. Pot acceptar paràmetres. El constructor també pot tenir valors de retorn. Però en un Destructor, no hi ha cap tipus de retorn ni paràmetres d'acceptació. Una classe només pot constar d'un destructor. Es fa referència a un destructor mitjançant el signe de tilde. Si el nom de la classe és Estudiant, el destructor és ~Estudiant () {}.

El recolector d'escombraries cerca els objectes que ja no són necessaris. Assegura que els objectes que ja no s'utilitzen pel programa s'han de destruir. Crida al destructor perquè alliberi la memòria i desassigni els recursos. Els destructors són útils per alliberar memòria, tancar fitxers, alliberar recursos de xarxa i tancar connexions de bases de dades. En la majoria dels llenguatges de programació, no és necessari escriure el destructor perquè el col·lector d'escombraries crida el constructor predeterminat per si mateix. Si el programador ha fet alguna assignació de memòria dinàmica utilitzant punters en un llenguatge com C++, hauria d'escriure un destructor per alliberar memòria abans que l'objecte es destrueixi.

Quina semblança hi ha entre el recol·lector d'escombraries i el destructor?

Tant Garbage Collector com Destructor s'utilitzen per alliberar memòria que ja no és necessària per al programa

Quina diferència hi ha entre el recol·lector d'escombraries i el destructor?

Garbage Collector vs Destructor

Un col·lector d'escombraries és un programari que realitza una gestió automàtica de la memòria. Un destructor és un mètode especial anomenat pel recol·lector d'escombraries durant la destrucció de l'objecte.
Tipus
Un recol·lector d'escombraries és un programari. Un destructor és un mètode.

Resum: Recollidor d'escombraries vs Destructor

Recollidor d'escombraries i destructor són dos termes associats amb l'alliberament de memòria. En aquest article es parla de la diferència entre Garbage Collector i destructor. La diferència entre el col·lector d'escombraries i el destructor és que un col·lector d'escombraries és un programari que realitza una gestió automàtica de la memòria mentre que un destructor és un mètode especial anomenat pel col·lector d'escombraries durant la destrucció de l'objecte.

Descarregueu el PDF de Garbage Collector vs Destructor

Podeu descarregar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Si us plau, descarregueu la versió PDF aquí: Diferència entre el recol·lector d'escombraries i el destructor

Recomanat: