Подтвердить что ты не робот

В чем смысл "дампа потока",

Я хочу знать, что такое дамп java-потока. Может кто-то, пожалуйста, помогите мне понять, что такое дамп потока и как он относится к работающей Java-программе?

4b9b3361

Ответ 1

Дамп потока Java - это способ узнать, что делает каждый поток в JVM в определенный момент времени. Это особенно полезно, если ваше приложение Java иногда кажется зависающим при работе под нагрузкой, поскольку анализ дампа показывает, где потоки застревают.

Вы можете создать дамп потока в Unix/Linux, запустив kill -QUIT <pid> и под Windows, нажав Ctl + Break.

Знать, как взять дамп потока из JVM см. здесь

Чтобы узнать, как создать дамп потока см. здесь

За дополнительной информацией: Java Sanity

Ответ 2

От http://www.javasanity.org/understandingthreaddumps:

Дамп потока - это моментальный снимок того, что выполняется в момент времени

Есть много ресурсов, которые могут помочь вам понять/проанализировать дамп потока (например http://www.javacodegeeks.com/2012/03/jvm-how-to-analyze-thread-dump.html).

Вы также можете найти полезный следующий вопрос: Инструмент/метод анализа дампа нити

Ответ 3

"Дамп потока - это список всех потоков Java, которые в настоящее время активны в виртуальной машине Java (JVM)". (ссылка)

Обычно поток в этом списке представлен его текущим стеклом и состоянием потока (работает, приостановлено, заблокировано и т.д.).

Ответ 4

Дамп потока - это вывод состояния стека вызовов в момент сбоя вашей программы. Это должно позволить вам понять, что в программе пошло не так, потому что оно показывает, что именно делает программа (и почему).

У вас есть дамп потока, который вам нужно посмотреть?