Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. новая сменная архитектура в JDK6u10 поддерживает это. До этого единственный способ сделать это был в панели управления Java.
Используйте настройки JavaConsole-> Java-> Java Applet Runtime для определения начального и максимального выделения памяти (использующий-Xms128-Xmx512 или подобный).
я понимаю что более новые версии Java (6?) позволяют разработчику некоторое влияние на эти настройки, но я еще не был там...
На самом деле запуск апплета в сети Java Запускается (JNLP) позволяет Вам определить те же ограничения памяти, что Вы были бы для стандартного JAVA-приложения. (Xms и Xmx).
JNLP поддерживает апплеты по умолчанию, таким образом, никакие изменения кода не требуются в большинстве случаев.
Не то, чтобы я знаю наверняка, это было долгое время, так как я записал апплеты, но я не думаю, что можно установить это от апплета.
, По-видимому, можно установить размер "кучи" JVM для JVM браузера от панели управления Плагина Java, но это - что-то, что пользователь должен сделать прежде, чем запустить апплет.
можно всегда проверять http://forums.sun.com/thread.jspa?threadID=523105&messageID=3033288 для большего количества обсуждения темы.
Это значение можно изменить, задав параметр например Работает с java1.6.0_10 подробности на https://jdk6.dev.java.net/plugin2/