Heap (Speicher): Unterschied zwischen den Versionen
Hauer (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Der '''Heap''' ist ein Teil der Programmumgebung. Er ist ein '''Speicherbereich''', in welchem Objekte instanziiert und verwaltet werden. In Java hat man keine…“) |
Hauer (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
Der '''Heap''' ist ein Teil der Programmumgebung. Er ist ein '''Speicherbereich''', in welchem Objekte instanziiert und verwaltet werden. In Java hat man keinen Einfluss darauf, welcher Teil des Heaps für ein Objekt reserviert wird. | Der '''Heap''' ist ein Teil der Programmumgebung. Er ist ein '''Speicherbereich''', in welchem Objekte instanziiert und verwaltet werden. In Java hat man keinen Einfluss darauf, welcher Teil des Heaps für ein Objekt reserviert wird. | ||
− | Der '''Heap''' steht dem [[Stack | + | Der '''Heap''' steht dem [[Stack]] gegenüber, in welchem Speicher für lokale Variablen von Methoden reserviert wird. |
In Java muss der Speicher des Heaps nicht verwaltet werden, da er automatisch vom [[Garbage Collector]] aufgeräumt wird. | In Java muss der Speicher des Heaps nicht verwaltet werden, da er automatisch vom [[Garbage Collector]] aufgeräumt 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. | 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. |
Version vom 29. April 2016, 20:59 Uhr
Der Heap ist ein Teil der Programmumgebung. Er ist ein Speicherbereich, in welchem Objekte instanziiert und verwaltet werden. 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 welchem Speicher für lokale Variablen von Methoden reserviert wird.
In Java muss der Speicher des Heaps nicht verwaltet werden, da er automatisch vom Garbage Collector aufgeräumt 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.