Как бороться с " java.ленг.Исключение OutOfMemoryError: Java для кучи пространства" ошибка (64Мб размер кучи )
Я пишу на стороне клиента качели приложение (графический дизайнер шрифта) на Java 5. Недавно я столкнулся с java.lang.OutOfMemoryError: Java heap space ошибка, потому что я не консервативен в использовании памяти. Пользователь может открывать неограниченное количество файлов, и программа сохраняет открытые объекты в памяти. После быстрого исследования я нашел эргономика в виртуальной машине Java 5.0 и другие говорят на машине Windows, что JVM по умолчанию имеет максимальный размер кучи как 64MB.
учитывая эту ситуацию, как я должен справиться с этим ограничением?
я мог бы увеличить максимальный размер кучи используя командная строка опция для java, но для этого потребуется выяснить доступную оперативную память и написать некоторую программу запуска или скрипт. Кроме того, увеличение до некоторого конечного максимума в конечном итоге не избавляет от проблемы.
я мог бы переписать часть моего кода, чтобы часто сохранять объекты в файловой системе (используя базу данных то же самое), чтобы освободить память. Это может сработать, но это, вероятно, тоже много работы.
Если бы вы могли указать мне на детали вышеуказанных идей или некоторые альтернативы, такие как автоматическая виртуальная память, расширяя размер кучи динамически, это будет здорово.
Comments