章节:1.7, 内容:StackTraceElement[] getStackTrace()方法,用于跟踪被调用的栈方法

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();
	}

}

 

测试结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值