Java heap space, Java sanal makinesi çalışırken kullanılan alanı ifade eder. Yeni bir nesne oluşturulurken bu nesneye heap alanından yer ayrılır. Sıklıkla oluşturulan bir nesne heap space’i tüketebilir. Ya da bir batch işlem düşünelim. Elimizde 600000 eleman içeren bir liste olsun. Bunu bir for döngüsü içinde her biri 1000 elemanlık batchSize değerine sahip parçalar halinde veritabanına eklemeye çalıştığımızı düşünelim. Burada eklenecek veriler geçici olarak heap alanında tutulur ve save işlemleri sırasında heap space tükenebilir. Java.lang.outOfMemoryError hatası alabiliriz ki bu hata runtime esnasında yakalanamaz. Haliyle işlemi yapmadan önce yeterli heap space’e sahip olunup olunmadığı bizim açımızdan kontrol edilmelidir.
Eclipse kullanıyorsak, run As-> run Configurations -> Arguments içinde örneğin -Xms512m -Xmx2g diyerek bir heap space düzenlemesi yapabiliriz.