package 多线程技能1;
/**
* StackTraceElement[]getStackTrace()
* 返回一个表示该线程对跟踪元素数组。如果该线程尚未启动或已经终止,
* 则该方法将返回一个0长度的数组。如果返回的数组不是0长度,则第一
* 个元素代表堆栈顶,它是该数组最新的方法调用,最后一个元素代表堆
* 栈底。
*/
class Test2{
public void a(){
b();
}
private void b() {
c();
}
private void c() {
d();
}
private void d() {
e();
}
private void e() {
StackTraceElement[] array=Thread.currentThread().getStackTrace();
if(array!=null){
for (int i=0;i<array.length;i++){
StackTraceElement element=array[i];
System.out.println("className="+element.getClassName()+"classFileName="+element.getFileName()+"lineNamber="+element.getLineNumber());
}
}
}
}
public class T17 {
public static void main(String[] args) {
Test2 test2=new Test2();
test2.a();
}
}
StackTraceElement[]getStackTrace()-T17
最新推荐文章于 2022-03-29 09:00:08 发布