Zurück zur Übersicht

Begriff

Garbage Collection (GC)

Computer Science Memory Management S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

In C++ musst du Speicher selbst aufräumen. "Ich brauche Platz für ein Bild." -> malloc(). "Ich brauche das Bild nicht mehr." -> free(). Vergisst du free(), läuft der RAM voll (Memory Leak). Machst du free() zu früh, stürzt das Programm ab. Moderne Sprachen (Java, Python, JS, Go) haben eine Müllabfuhr (Garbage Collector). Der GC läuft im Hintergrund. Er schaut: "Welche Daten werden von niemandem mehr benutzt?" Und gibt den Speicher automatisch frei. Du musst dich um nichts kümmern. (Meistens).

Merksatz: Ein automatischer Mechanismus zur Speicherverwaltung, der nicht mehr benötigten Speicherplatz identifiziert und freigibt, um Speicherlecks zu verhindern.


Quick-Check

  1. System.gc()?
    In Java kannst du den GC rufen. Aber das ist nur ein "Vorschlag". Die JVM entscheidet selbst, ob sie Lust hat. Man sollte es nie tun.
  2. Rust?
    Rust hat keinen GC, ist aber trotzdem Memory Safe. Es nutzt das "Ownership Model". Der Compiler weiß genau, wann eine Variable "out of scope" geht und fügt den free() Befehl automatisch dort ein. Beste Performance ohne GC-Pausen.
  3. Finalizer?
    Eine Methode, die aufgerufen wird, bevor das Objekt stirbt. (Wie Destruktor). Ist extrem unzuverlässig (wird vielleicht nie aufgerufen) und bremst den GC. Vermeiden.