位置:首頁 > 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