Taula de continguts:
Definició: què significa Garbage Collector?
Un col·leccionista d'escombraries és un programari que realitza una gestió automàtica de la memòria. La seva tasca és alliberar qualsevol memòria que no s’utilitzi i assegurar-se que no s’allibera cap memòria mentre encara està en ús. Alguns idiomes com Java i .NET tenen una recollida automàtica d’escombraries, mentre que d’altres com C / C ++ requereixen que el programador gestioni manualment la memòria.
Techopedia explica Garbage Collector
La col·lecció d’escombraries va ser introduïda per primer cop pel creador de Lisp, John McCarthy, per facilitar la gestió manual de la memòria quan treballava amb el llenguatge de Lisp.
Les tres tècniques principals que utilitza un col·lector d'escombraries per dur a terme la gestió automàtica de la memòria són les següents:
- Recompte de referència: la referència a cada objecte es compta amb una variable de comptador. Quan el comptador arriba a zero, denota que l'objecte ja no és necessari i, per tant, es recicla.
- Marca i escombra: es fa un recorregut recursiu de tots els objectes accessibles a totes les regions de dades i es marquen els objectes que es poden arribar. Els objectes no marcats es reciclen.
- Aturar i copiar: el munt de memòria es divideix en dues seccions: una secció que conté els objectes i una secció buida on es transfereixen (copien) els objectes si es troba marcada. Els objectes no marcats de la primera secció es reciclen buidant-lo.
Quan s'ha alliberat un bloc de memòria assignat a un punter / objecte, s'ha de restablir el punter / objecte a un valor nul; en cas contrari, està fent malbé, és a dir, que apunta a un bloc de memòria no vàlid.
La recollida d'escombraries ajuda a reduir els errors i la seguretat causats per indicadors de perill i problemes de fuita de memòria.
Els desavantatges d’utilitzar un col·lector d’escombraries inclouen la despesa addicional sobre recursos i rendiment. El fet de funcionar un col·lector d'escombraries també pot alentir el sistema i, per tant, disminuir el seu rendiment.
