天天看点

java 获取当前方法的调用栈

 本文的出发点在于处理现场问题时,想看到方法的调用过程

StackTrace(堆栈轨迹)存放的就是方法调用栈的信息,每次调用一个方法会产生一个方法栈,当前方法调用另外一个方法时会使用栈将当前方法的现场信息保存在此方法栈当中,获取这个栈就可以得到方法调用的详细过程。

StackTraceElement stack[] = Thread.currentThread().getStackTrace();  

                 for(int i=0;i<stack.length;i++){

                System.out.print(stack[i].getClassName()+" 。"+stack[i].getMethodName()+"-----");

                }

其实,在平常开发中,对于堆栈信息我们每个人都用过,比如e.printStackTrace()实质就是打印异常调用的堆栈信息。

继续阅读