Мы используем java webstart на стороне клиента для приложения, основанного на java swing.Недавно мы столкнулись со странной ошибкой «Не удается запустить виртуальную машину Java» при нажатии на ссылку jnlp.
Вскоре мы выясним это, поскольку для параметра max-heap-size в файле jnlp было установлено значение 1024 м, в то время как на большинстве клиентских ПК имеется только 1 ГБ физической памяти.Установите максимальный размер кучи обратно на 512 м. Решил проблему.В настоящее время соответствующая строка в файле jnlp выглядит так:
<j2se version="1.5+" initial-heap-size="100m" max-heap-size="512m"/>
Я изучил спецификацию jnlp, но не могу найти ничего, связанного с проблемой «Виртуальная машина Java».В теории максимальный размер кучи не должен иметь значения так же, как начальный размер кучи.Но наш опыт подсказывает совершенно противоположное.
Клиентская среда:
Windows XP SP2 (32 бита), Internet Explorer 8.06, память 1G Примечание. Максимальный размер кучи, установленный на 1024 м, может вызвать то жепроблема на машине с 2G оперативной памяти.
По сути, я ищу здесь некоторые справки / спецификации / опыт о том, почему это происходит, и есть ли способ обойти эту проблему помимо увеличения размера физической памяти.
Другое дело, что если мы оставим максимальный размер кучи неуказанным, будет ли фактический размер физической памяти использоваться как максимальный размер кучи, или будет использоваться системный размер по умолчанию?
Спасибо, ДжейсонW