Heap (Speicher): Unterschied zwischen den Versionen
Hauer (Diskussion | Beiträge) |
|||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Der '''Heap''' ist ein Teil der Programmumgebung | + | Der '''Heap''' ist ein Teil der Programmumgebung und zwar ein '''Speicherbereich'''. In diesem werden [[Objekt|Objekte]] instanziiert und verwaltet. In [[Java]] hat man keinen Einfluss darauf, welcher Teil des Heaps für ein Objekt reserviert wird. |
− | Der '''Heap''' steht dem [[Stack]] gegenüber, in | + | Der '''Heap''' steht dem [[Stack]] gegenüber, in dem Speicher für lokale Variablen von Methoden reserviert wird. |
− | In Java muss der direkte Speicher des Heaps nicht aufgeräumt werden, da | + | In Java muss der direkte Speicher des Heaps nicht aufgeräumt werden, da dies automatisch vom [[Garbage Collector]] erledigt wird. |
− | Objektvariablen beinhalten entsprechend nie Objekte selbst, sondern nur Referenzen auf den Heap, in dem der eigentliche Speicher des Objektes verwaltet wird. Dies spart insbesondere auf dem Stack | + | '''Objektvariablen''' beinhalten entsprechend nie Objekte selbst, sondern nur Referenzen auf den Heap, in dem der eigentliche Speicher des Objektes verwaltet wird. Dies spart insbesondere auf dem Stack Platz und Aufwand, da bei Methodenaufrufen nicht das gesamte Objekt kopiert werden muss, sondern nur die Referenz auf das Objekt. |
Aktuelle Version vom 2. Mai 2016, 15:08 Uhr
Der Heap ist ein Teil der Programmumgebung und zwar ein Speicherbereich. In diesem werden Objekte instanziiert und verwaltet. In Java hat man keinen Einfluss darauf, welcher Teil des Heaps für ein Objekt reserviert wird.
Der Heap steht dem Stack gegenüber, in dem Speicher für lokale Variablen von Methoden reserviert wird.
In Java muss der direkte Speicher des Heaps nicht aufgeräumt werden, da dies automatisch vom Garbage Collector erledigt wird.
Objektvariablen beinhalten entsprechend nie Objekte selbst, sondern nur Referenzen auf den Heap, in dem der eigentliche Speicher des Objektes verwaltet wird. Dies spart insbesondere auf dem Stack Platz und Aufwand, da bei Methodenaufrufen nicht das gesamte Objekt kopiert werden muss, sondern nur die Referenz auf das Objekt.