Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Я не попробовал Sofware, проверяют инструменты, но Mozilla имеет инструменты, которые отслеживают полную память, использованную Firefox в целях стемминга утечек:
http://www.mozilla.org/performance/tools.html
и:
https://wiki.mozilla.org/Performance:Leak_Tools
Там является также этим парнем, говорящим для предотвращения больших массивов в контексте закрытий к нижней части статьи
Я думаю , Блок проверки допустимости Памяти JavaScript от Software Verification Limited может помочь Вам, это имеет представление выделений, представление объектов, представление поколений, и т.д. Это не свободно, но можно использовать пробную версию для проверки кода коллеги. У них также есть Блоки проверки допустимости Производительности и Покрытия...
См. источник . Разреженные массивы не поднимают большую память, но если Вашему коллеге не нужен никакой Array
функциональность, он должен использовать плоскость Object
с так или иначе.