import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;
public class ThreadDump {
public static void main(String[] args) {
ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
ThreadInfo[] threadInfos = threadBean.dumpAllThreads(true, true);
for (ThreadInfo threadInfo : threadInfos) {
System.out.println("Thread ID: " + threadInfo.getThreadId());
System.out.println("Thread name: " + threadInfo.getThreadName());
System.out.println("Thread state: " + threadInfo.getThreadState());
System.out.println("StackTrace:");
for (StackTraceElement stackTraceElement : threadInfo.getStackTrace()) {
System.out.println("\t" + stackTraceElement.toString());
}
System.out.println();
}
}
}