Saya menulis aplikasi Swing sisi klien (desainer font grafis) di Java 5 . Baru-baru ini, saya mengalami java.lang.OutOfMemoryError: Java heap space
kesalahan karena saya tidak konservatif dalam penggunaan memori. Pengguna dapat membuka file dalam jumlah tidak terbatas, dan program ini menyimpan objek yang dibuka di memori. Setelah penelitian cepat saya menemukan Ergonomi di Java Virtual Machine 5.0 dan yang lain mengatakan pada mesin Windows JVM default max heap size as 64MB
.
Dengan situasi ini, bagaimana saya harus mengatasi kendala ini?
Saya dapat meningkatkan ukuran heap maks menggunakan opsi baris perintah ke java, tapi itu akan membutuhkan mencari tahu RAM yang tersedia dan menulis beberapa program peluncuran atau skrip. Selain itu, peningkatan hingga beberapa hingga pada akhirnya tidak menyingkirkan masalah tersebut.
Saya bisa menulis ulang beberapa kode saya untuk tetap mempertahankan objek ke sistem file (menggunakan database adalah hal yang sama) untuk membebaskan memori. Itu bisa berhasil, tapi mungkin itu juga banyak pekerjaan.
Jika Anda bisa mengarahkan saya ke detail ide di atas atau beberapa alternatif seperti memori virtual otomatis, memperluas ukuran tumpukan secara dinamis , itu akan menjadi hebat.