Halde
Die Halde (englisch heap) ist der Speicherbereich, in dem Java alle Objekte ablegt. Alles, was mit new entsteht, liegt dort – auch jedes Feld.
Der Name klingt ungewohnt, meint aber genau das englische heap: einen unsortierten Haufen. Im Gegensatz zum Kellerstapel gibt es auf der Halde keine feste Reihenfolge – Objekte entstehen und verschwinden in beliebiger Ordnung.
- Angelegt wird ein Objekt bei jedem
new. - Aufgeräumt wird es durch die Speicherbereinigung, sobald keine Referenz mehr darauf zeigt.
- Die Halde ist wesentlich größer als der Kellerstapel.
Eine Variable von einem Objekttyp liegt im Kellerrahmen; das Objekt, auf das sie verweist, liegt auf der Halde.
Ausführlich behandelt wird das Zusammenspiel in der Lektion Kellerstapel und Halde und im Eintrag Speichermodell Java.