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