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.yiibai; 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()); } }
让我们来编译和运行上面的程序,这将产生以下结果:
ThreadDemo