StackTraceElement[] getStackTrace()
描述 (Description)
java.lang.Thread.getStackTrace()方法返回一个堆栈跟踪元素数组,表示此线程的堆栈转储。如果此线程尚未启动或已终止,则将返回零长度数组。
如果返回的数组长度为非零,则数组的第一个元素表示堆栈的顶部,这是序列中最近的方法调用。 数组的最后一个元素表示堆栈的底部,这是序列中最近的方法调用。
声明 (Declaration)
以下是java.lang.Thread.getStackTrace()方法的声明
public StackTraceElement[] getStackTrace()
参数 (Parameters)
NA
返回值 (Return Value)
此方法返回StackTraceElement数组,每个数组代表一个堆栈帧。
异常 (Exception)
SecurityException - 如果存在安全管理器且其checkPermission方法不允许获取线程的堆栈跟踪。
例子 (Example)
以下示例显示了java.lang.Thread.getStackTrace()方法的用法。
package com.iowiki;
import java.lang.*;
public class ThreadDemo {
public static void main(String[] args) {
function();
}
public static void function() {
new ThreadDemo().function2();
}
public void function2() {
System.out.println(Thread.currentThread().getStackTrace()[3].getClassName());
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
com.iowiki.ThreadDemo