Как запустить Java-апплет с большим объемом памяти?
-
01-07-2019 - |
Вопрос
Максимальный размер кучи по умолчанию — 64 МБ — может быть мал для большого приложения Java.Есть ли какой-либо параметр апплета для увеличения этого значения для подписанного апплета?
Для программы Java это простой параметр командной строки, но как это работает для апплета в браузере.
Решение
А новая архитектура плагинов в JDK6u10 поддерживает это.До этого это можно было сделать только через панель управления Java.
Другие советы
Используйте параметры JavaConsole -> Java -> Java Applet Runtime, чтобы определить начальное и максимальное выделение памяти (используя -Xms128 -Xmx512 или аналогичный).
Я понимаю, что более новые версии Java (6?) позволяют разработчику влиять на эти настройки, но я там еще не был...
Добавьте в файл JNLP следующие строки в «ресурсах».
j2se version="1.6+" initial-heap-size="256m" max-heap-size="1024m"
href="http://java.sun.com/products/autodl/j2se" /"
Фактически, запуск апплета внутри Java Web Start (JNLP) позволяет вам указать те же ограничения памяти, что и для обычного приложения Java.(Xms и Xmx).
JNLP поддерживает апплеты по умолчанию, поэтому в большинстве случаев никаких изменений кода не требуется.
Существует возможность изменить это значение, установив параметры в примере, которое он работает, так как Java1.6.0_10 https://jdk6.dev.java.net/plugin2/
Это можно сделать несколькими способами:
i) либо увеличив значения Xms, Xmx и Xmn вместе с аргументами Java MaxPermSize в панели управления Java;и/или
ii) добавив тег PARAM java_arguments к тегу OBJECT в jsp/html:
Эта ссылка проливает больше света на это:http://technoguider.com/2015/06/memory-requirements-for-an-applet/
Не то чтобы я знал наверняка, я давно не писал апплеты, но не думаю, что из апплета это можно установить.
Очевидно, вы можете установить размер кучи JVM для JVM браузера с панели управления плагином Java, но это то, что пользователь должен сделать перед запуском вашего апплета.
Вы всегда можете проверить http://forums.sun.com/thread.jspa?threadID=523105&messageID=3033288 для дальнейшего обсуждения этой темы.