位置:首页 > Java技术 > java.lang > java.lang.Thread.getStackTrace()方法实例

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