Я работаю с многопоточной программой. Я вижу в JConsole, что у меня все еще есть 2 потока, не являющихся демонами, но я не могу точно определить, какие именно (общее количество потоков превышает 30). Visual VM не предоставляет такую информацию.
Пробег:
$ jstack PID | grep tid= | grep -v daemon
Это приведет к сбросу всего потока с заданным PID Java, фильтрации строк с именами потоков и отфильтровыванию недемоновых.
Удалить -v только для печати потоков демона.
-v
Возьмите дамп потока в VisualVM. У потоков демона рядом с именем потока есть слово daemon.
daemon
"Default RequestProcessor" daemon prio=1 tid=101e58000 nid=0x124d86000 runnable [124d85000]