分析java线程调用栈

有两种方法可以用,

一种就是设置个断点debug一下就可以看出线程调用栈了,

另外一种就是在方法中打印出调用栈:

Throwable ex = new Throwable();
    StackTraceElement[] stackElements = ex.getStackTrace();
    if (stackElements != null) {
        for (int i = stackElements.length - 1; i >= 0; i--) {
            System.out.print(stackElements[i].getClassName() + "\t");
            System.out.print(stackElements[i].getMethodName() + "\t");
            System.out.print(stackElements[i].getFileName() + "\t");
            System.out.println(stackElements[i].getLineNumber());
        }
    }


你可能感兴趣的:(java)