Garbage collection

(eller: spildopsamling).

I mange programmeringssprog administreres brugen af arbejdslageret i høj grad af oversætteren, idet der skelnes mellem statiske data, data på stakken og data, der skabes og fjernes dynamisk af programmet. I det sidstnævnte tilfælde kan det ske, at et område i lageret med data ikke frigives, når det ikke bruges mere. Garbage collection er en teknik, hvor indholdet af arbejdslageret omarrangeres, så ubenyttede/frigivne lagerområder samles til genbrug. Garbage er det engelske ord for affald og har i denne situation betydningen uønsket og værdiløs information i arbejdslageret.

Garbage collection bruges ikke i sprogene C og C++, og ubenyttet lager kan derfor ikke genbruges, og et fejlagtigt program kan løbe tør for lagerplads; situationen beskrives ofte som en "memory leak". Sprog som Java, ML og LISP anvendes ofte sammen med garbage collection. Dette kan have den ulempe, at der på uforudsigelige tidspunkter bruges megen beregningstid på garbage collection.

Forfattere: 
Klaus Hansen
Casper Thomsen