Как я могу запустить Java-апплет с большим объемом памяти?

Максимальная куча памяти по умолчанию 64 МБ может быть небольшой для большого Java-приложения. Есть ли параметр апплета для увеличения этого значения для подписанного апплета?

Для программы на Java это простой параметр командной строки, но как это работает для апплета в браузере.

7 ответов

Решение

Новая архитектура плагинов в 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" /"

Есть возможность изменить это значение, установив параметр в примере. Он работает, так как подробности java1.6.0_10 на https://jdk6.dev.java.net/plugin2/

На самом деле, запуск апплета внутри Java Web Start (JNLP) позволяет вам указать те же ограничения памяти, что и для обычного Java-приложения. (Xms и Xmx).

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

Это можно сделать несколькими способами:

i) путем увеличения значений Xms, Xmx и Xmn вместе с аргументами java MaxPermSize в панели управления java; и / или

ii) добавив тег java_arguments PARAM к тегу 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 для получения дополнительной информации по этой теме.

Другие вопросы по тегам