2015-03-10 2 views
3

Я создаю автозапуск cd которого содержит изображения dicom. it taks arround 10-15 мин. для отображения dicomviewer на экране. так что я хочу увеличить размер кучи jvm во время выполнения, программно (не из командной строки) Предположим, мне нужно выделить 500 МБ моему приложению, когда я запустил приложение. Возможно ли это? Я использую платформу Windows.Как увеличить размер кучи в java?

+0

Я пытался найти ответ на этот вопрос какое-то время. но я не думаю, что это возможно, так как я ничего не нашел ... – nafas

+0

Если вам не нравятся аргументы командной строки, попробуйте Java runner, например [launch4j] (http://launch4j.sourceforge.net/). Там вы можете указать максимальный размер кучи, не беспокоясь о аргументах командной строки. – Robert

ответ

1

Буквально, нет. Максимальный размер кучи устанавливается в момент запуска JVM и не может быть увеличен.

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

+0

, когда я автоматически запускаю cd os, создаст процесс, и он отобразится в taskmanager, но требуется время для запуска.so, есть ли другой способ уменьшить время обработки? –

0

Одним из подходов, которые вы можете предпринять в среде Windows, является установка службы, запускающей ваше приложение. С помощью этого метода вы можете заставить службу Windows указывать на файл-обертку, который вызывает все файлы relvant для запуска вашего приложения. Здесь вы можете указать что-то вроде;

set JAVA_OPTS=-Xrs -Xms6G -Xmx6G -XX:MaxPermSize=384M 

Вы можете использовать это, чтобы указать свои настройки памяти JVM при запуске.

Для получения подробной информации о параметрах см. http://docs.oracle.com/cd/E19900-01/819-4742/abeik/index.html.

Надеется, что это помогает,

V

0

Поскольку задача о длительности отображения картинки и зная, что вы не можете изменить размер кучи программны, чем об оптимизации программы для более быстрой загрузки изображения?

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

Можете ли вы изменить код пользовательского интерфейса?

+0

Я уже реализую несколько сервисов в своем приложении. хотя требуется слишком много времени. –

+0

Можете ли вы частично загрузить данные и использовать пейджинг на вашем дисплее? – Dino

Смежные вопросы