Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Существует JBoss-определенный метод, который немного более удобен для пользователя:
http://community.jboss.org/wiki/GenerateAThreadDumpWithTheJMXConsole
Это особенно полезно, когда у Вас нет прямого доступа к хост-машине (которого "уничтожение" потребовало бы).
http://java.sun.com/developer/technicalArticles/Programming/Stacktrace/
...
"На платформах UNIX можно отправить сигнал в программу при помощи команды уничтожения. Это - сигнал выхода, который обрабатывается JVM. Например, на Солярисе можно использовать команду, уничтожают - ВЫХОДИТ из process_id, где process_id является количеством процесса программы Java.
Кроме того, можно ввести сочетание клавиш <ctrl> \в окне, где программа Java была запущена. Отправка этого сигнала сообщает обработчику сигналов в JVM, для рекурсивного распечатывания всей информации о потоках и мониторах в JVM."
...
"Определение состояний потока
Вы будете видеть много различных потоков во многих различных состояниях в снимке от отслеживания стека JVM. Используемый ключ:
R Выполнение или выполнимый поток
S Приостановленный поток
Поток CW, ожидающий на условной переменной
Поток MW, ожидающий на блокировке монитора
Поток MS приостановил ожидание на блокировке монитора"
stacktrace приложение, найденное здесь, также полезно, особенно на машинах Windows, когда приложение Java не запускается с командной строки.