描述
这个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
相关用法
- Java Java.lang.Thread.getState()用法及代码示例
- Java Java.lang.Thread.getName()用法及代码示例
- Java Java.lang.Thread.getPriority()用法及代码示例
- Java Java.lang.Thread.getAllStackTraces()用法及代码示例
- Java Java.lang.Thread.getThreadGroup()用法及代码示例
- Java Java.lang.Thread.getContextClassLoader()用法及代码示例
- Java Java.lang.Thread.getId()用法及代码示例
- Java Java.lang.Thread.run()用法及代码示例
- Java Java.lang.Thread.isDaemon()用法及代码示例
- Java Java.lang.Thread.checkAccess()用法及代码示例
- Java Java.lang.Thread.yield()用法及代码示例
- Java Java.lang.Thread.isInterrupted()用法及代码示例
- Java Java.lang.Thread.enumerate()用法及代码示例
- Java Java.lang.Thread.dumpStack()用法及代码示例
- Java Java.lang.Thread.setUncaughtExceptionHandler()用法及代码示例
- Java Java.lang.Thread.currentThread()用法及代码示例
- Java Java.lang.Thread.setContextClassLoader()用法及代码示例
- Java Java.lang.Thread.setDaemon()用法及代码示例
- Java Java.lang.Thread.holdsLock()用法及代码示例
- Java Java.lang.Thread.start()用法及代码示例
注:本文由纯净天空筛选整理自 Java.lang.Thread.getStackTrace() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。