Der Java Heap ist der Speicherbereich welcher einer Java Laufzeitumgebung zur Verfügung steht. In diesem Speicherbereich werden alle Datenstrukturen mit einer nicht festen Größe verwaltet.
- Objekte (Instanzen von Klassen)
- Felder von Basistypen oder Objekten
- Zeichenketten
Wenn ein Java Programm gestartet wird steht im zunächst die Startgröße des Heaps zu Verfügung, Java kann diesen aber selbst bis zur Maximalgröße erweitern. Bei nicht Server basierenden Java Anwendung kann die Heapgröße über die Parameter -Xms bzw. -Xmx (initiale Heapgröße -Xms, maximale Heapgröße -Xmx).