Как увеличить размер "кучи" Java программно

У меня есть настольное приложение Java для поиска файлов, и он обычно достигает предела "кучи" по умолчанию довольно скоро. Я привычка имеет доступ ко всем системам, это будет установлено в том, таким образом, я захочу увеличить размер "кучи" JVM в самом приложении. Кто-либо может помочь мне, как я могу сделать это программно в моем приложении

10
задан M. Tibbits 10 August 2011 в 04:39
поделиться

5 ответов

Настройка -xmx на один гиг не означает, что JVM выделит столько памяти при запуске. JVM выделит только -xms (плюс накладные расходы) до тех пор, пока не требуется большее количество кучи. Вам необходимо защитить своих пользователей из виртуальной памяти или неисправного распределения памяти из ОС? Если нет, просто установите XMX в большое значение. Обратите внимание, что Windows 32BIT JVMS часто игнорирует настройки XMX более 1.2GIG, поэтому лучше не запросить больше, чем Gig или так, чтобы быть в безопасности.

6
ответ дан 3 December 2019 в 21:59
поделиться

Нет такого стандартного API для этого.

Я бы предложил, чтобы вы использовали Java Web Start, чтобы вызвать ваше приложение (можно использовать для локальных приложений, чтобы в последнем Sun Java 6), поскольку он позволяет вам указывать значения для этого.

Затем вы можете иметь три или четыре ссылки, каждый из которых указывает на одни и те же файлы, но с «крошечными», «средой», «большими», «гигантскими» размерами кучи.

4
ответ дан 3 December 2019 в 21:59
поделиться

Посмотреть этот пост о увеличении размера кучи Java:

Увеличьте размер кучи Java навсегда?

Может быть, также можете убрать некоторую часть вашего кода, чтобы уменьшить использование памяти.

С наилучшими пожеланиями

2
ответ дан 3 December 2019 в 21:59
поделиться

Посмотрите на что-то вроде Launch4j и рассмотрите возможность развертывания исполняемых файлов, где вы можете управлять пределом, когда кто-то начинает запуск вашего приложения.

Вы не сможете это сделать программно.

2
ответ дан 3 December 2019 в 21:59
поделиться

Для настольных приложений я предлагаю обеспечить задержку, которое может указать нужный размер памяти. В дополнение к конфигурации вашего JVM вы также можете предоставить значок, файловые ассоциации и т. Д.

См. См. Настоящий вопрос для альтернатив развертывания.

2
ответ дан 3 December 2019 в 21:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: