Definition

Garbage Collection

Garbage Collection ist ein Verfahren zur Speicherbereinigung und Wiederfreigabe von belegtem Speicherplatz, der aber vom jeweiligen Computerprogramm nicht mehr benötigt wird. Damit wird diese Kapazität wieder für andere Anwendungen frei gemacht. Das Verfahren stellt zudem sicher, dass ein Programm oder eine Anwendung bei steigendem Storage-Bedarf nicht mehr Storage erhält als zuvor zugeteilt, was letztlich zum Ausfall des Programms führen könnte.

Garbage Collection ist eine automatische Funktion des Memory-Management in vielen modernen Programmiersprachen wie Java oder in Sprachen des .NET-Frameworks. Programmiersprachen, die Garbage Collection verwenden, laufen oft auf einer virtuellen Maschine wie JVM. In jedem Fall ist auch die Umgebung, in der der Code operiert, für die Garbage Collection verantwortlich.

In älteren Programmiersprachen wie C oder C++ wird die Bereinigung von Memory manuell vom Programmierer durchgeführt. Daten, die nicht auf „einfaches“ Storage abgelegt werden kann – wie Objekte, Buffers, Strings – erhalten eine Reservierung auf dem Memory. Wenn das Programm die Daten nicht mehr benötigt, bereinigt der Programmierer diese Daten mit einem API Call. Da dieser Vorgang manuell erfolgt, sind menschliche Fehler möglich, die zu Bugs im Code führen können. So genannte Memory Leaks tauchen dann auf, wenn der Programmierer vergisst, den Memory-Speicher zu bereinigen, wenn er nicht mehr beansprucht wird. Ebenso ist es möglich, dass ein Programmierer versucht, Speicherplatz zu bereinigen, der bereits wieder frei ist. Das kann zu fehlerhaften Pointern führen, die wiederum Bugs oder Crashes verursachen können.

Programme mit automatischer Garbage Collection versuchen, diese Bugs zu eliminieren, indem sie Daten aufspüren, die nicht mehr benötigt werden. Die Garbage Collection hat zwei Ziele: Ungenutzten Memory-Speicher frei zu machen und zur Verfügung zu stellen und diesen Speicher nur dann zu bereinigen, wenn er wirklich nicht mehr benötigt wird. Manche Programmiersprachen erlauben eine manuelle Speicherbereinigung, viele aber nicht.

 

Folgen Sie SearchStorage.de auch auf Twitter, Google+ und Facebook!

Diese Definition wurde zuletzt im Mai 2015 aktualisiert

Erfahren Sie mehr über Disk-Systeme

ComputerWeekly.de
Close