java虚拟机中获取线程堆栈的信息,可以通过jstck命令:
/**
* 通过java代码 使用jstack查看线程堆栈信息
* created by jintian chen
* 2018/04/21
*/
@Slf4j
public abstract class JstackUtil {
/**
* 获取线程快照信息
*
* @return
*/
public static String getJavaStackTrace() {
StringBuffer msg = new StringBuffer();
for (Map.Entry<Thread, StackTraceElement[]> stackTrace : Thread.getAllStackTraces().entrySet()) {
Thread thread = (Thread) stackTrace.getKey();
StackTraceElement[] stack = (StackTraceElement[]) stackTrace.getValue();
if (thread.equals(Thread.currentThread())) {
continue;
}
msg.append("\n 线程:").append(thread.getName()).append("\n");
for (StackTraceElement element : stack) {
msg.append("\t").append(eleme