java运行栈信息
?
下文是对API对StackTraceElement介绍
?
public final class StackTraceElementextends Objectimplements Serializable
堆栈跟踪中的元素,它由 Throwable.getStackTrace()
返回。每个元素表示单独的一个堆栈帧。所有的堆栈帧(堆栈顶部的那个堆栈帧除外)都表示一个方法调用。堆栈顶部的帧表示生成堆栈跟踪的执行点。通常,这是创建对应于堆栈跟踪的 throwable 的点。?
?
调用的方法都会被放在线程的栈中,而栈中是通过栈帧来存放信息,StackTraceElement
?
eg:
?
StackTraceElement[] sa = Thread.currentThread().getStackTrace();for (int i = 0; i < sa.length; i++) {StackTraceElement s = sa[i];System.out.println(s.getFileName()+"\t"+s.getClassName()+"."+s.getMethodName()+"("+s.getLineNumber()+")");}?
?