Yaklaşık 650 MB’lık bir text dosyasını okumaya çalışınca aşağıdaki hatayı aldım:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

Java sanal makinesi varsayılan olarak 256 MB maksimum bellek ayırıyor. Programınız ihtiyacı bunun üzerinde olunca yukarıdaki hatayı alıyorsunuz. Ancak JVM’ye aşağıdaki komutlarla ilk ve maksimum bellek miktarını belirtebiliyorsunuz.

java -Xmx2048m -Xms256m

Yukarıdaki komutta program için başlangıçta 256 MB ve en fazla da 2048 MB bellek istemiş oluyoruz. Ancak bu komut satırından programımızı çalıştırırken geçerli bir durum. Mesela aşağıdaki javaprogrami isimli program oku.txt dosyasını girdi olarak alıyor ve kullanabileceği maksimum bellek miktarı 2 GB.

$ java -Xmx2G javaprogrami oku.txt

Aynı şeyi Netbeans’te yapmak için projeye sağ tıklayın -> properties -> run -> VM Options

netbeans_jvm_heap_size

Not: Bir de netbeans.conf diye bir dosya var. Burada da benzer ayarlar var. Ancak bu ayarlar kendisi de bir Java programı olan Netbeans’in kullanabileceği bellek boyutu ile ilgili. Netbeans üzerinde çalışacak Java programız ile ilgili değil. O yüzden bu ayarlarla oynamamanızı tavsiye ederim.

Umarım faydalı olmuştur. Herkese kolay gelsin

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone