Java多线程编程核心技术(第二版),章节:1.7, 学习笔记
简介:StackTraceElement[] getStackTrace()方法的作用是返回一个表示该线程堆栈跟踪元素 数组。如果该线程尚未启动或已经终止,则 该方法将返回一个零长度数组。如果 返回 的数组不是零长度的,则其第一个元素代表 堆栈 顶,它是该数组中最新的方法调用。 最后一个元素代表堆栈底,是该数组中最旧的方法调用。
demo代码:
package day3;
/**
* StackTraceElement[] getStackTrace()方法的作用是返回一个表示该线程堆栈跟踪元素 数组。
* 如果该线程尚未启动或已经终止,则 该方法将返回一个零长度数组。
* 如果 返回 的数组不是零长度的,则其第一个元素代表 堆栈 顶,它是该数组中最新的方法调用。
* 最后一个元素代表堆栈底,是该数组中最旧的方法调用。
*
*/
public class StackTraceElementsTest {
public void a() {
b();
}
public void b() {
c();
}
public void c() {
d();
}
public void d() {
e();
}
public void e() {
StackTraceElement[] arr = Thread.currentThread().getStackTrace();
for(int i=0;i<arr.length;i++) {
StackTraceElement e = arr[i];
System.out.println("className:" + e.getClassName()
+ ",methodName:" + e.getMethodName()
+ ",fileName:" + e.getFileName()
+ ",lineNumber:" + e.getLineNumber());
}
}
public static void main(String[] args) {
StackTraceElementsTest test = new StackTraceElementsTest();
test.a();
}
}
测试结果: