Kurz erklärt
Ein Garbage Collector gibt Speicher nicht mehr erreichbarer Objekte automatisch frei. Verfahren sind Referenzzählung, Mark-and-Sweep und generationelle Sammler.
Genauer
Objekte, die vom Programm nicht mehr erreichbar sind, gelten als Müll. Der Collector findet sie, indem er von „Wurzeln“ (Stack, globale Variablen) aus alle erreichbaren Objekte markiert. Der Rest wird freigegeben. Das erspart manuelles Speichermanagement, kostet aber Laufzeit und kann Pausen verursachen.