Java.lang.Thread.getStackTrace() 方法
描述
java.lang.Thread.getStackTrace() 方法返回一个堆栈跟踪元素数组,表示此线程的堆栈转储。如果此线程尚未启动或已终止,这将返回一个零长度数组 .
如果返回的数组长度非零,则数组的第一个元素表示堆栈的顶部,这是序列中最近的方法调用。 数组的最后一个元素表示堆栈的底部,它是序列中最近的方法调用。
声明
以下是 java.lang.Thread.getStackTrace() 方法的声明。
public StackTraceElement[] getStackTrace()
参数
NA
返回值
该方法返回一个 StackTraceElement 数组,每个代表一个栈帧。
异常
SecurityException − 如果存在安全管理器并且其 checkPermission 方法不允许获取线程的堆栈跟踪。
示例
下面的例子展示了 java.lang.Thread.getStackTrace() 方法的使用。
package com.tutorialspoint; 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.tutorialspoint.ThreadDemo