包java.lang.Thread.dumpStack()中提供了此方法。
此方法用于打印或显示当前线程到System.err(标准错误流)的堆栈跟踪。
此方法的目的基本上是用于调试(即,如果我们调用多个方法,那么很难发现错误,因此借助该方法,我们可以在堆栈跟踪或堆栈层次结构中找到错误)。
此方法是静态的,因此也可以使用类名访问此方法,例如Thread.dumpStack()。
此方法的返回类型为void,它不返回任何内容。
此方法不会引发任何异常。
语法:
static void dumpStack(){
}参数:
我们不会在File方法中将任何对象作为参数传递。
返回值:
此方法的返回类型为void,它不返回任何内容。
dumpStack()方法示例/* We will use Thread class methods so we are importing
the package but it is not mandate because
it is imported by default
*/
import java.lang.Thread;
public class PrintStackTraceOfCurrentThread {
public static void main(String[] args) {
//通过使用currentThread()Thread类将返回
//当前正在执行的线程的引用。
Thread th = Thread.currentThread();
//通过使用setName()方法,我们设置名称
//当前执行线程的数量
th.setName("Main Thread");
//通过使用setPriority()方法,我们设置
//当前执行线程的优先级
th.setPriority(2);
//显示当前执行线程
System.out.println("Currently Executing Thread is :" + th);
int active_thread = Thread.activeCount();
//显示当前线程线程组中活动线程的数量
System.out.println("The Current active threads is : " + active_thread);
//显示当前线程的堆栈跟踪
//到System.err(标准错误流)
Thread.dumpStack();
}
}输出结果
E:\Programs>javac PrintStackTraceOfCurrentThread.java E:\Programs>java PrintStackTraceOfCurrentThread Currently Executing Thread is :Thread[Main Thread,2,main] The Current active threads is : 1 java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Thread.java:1365) at PrintStackTraceOfCurrentThread.main(PrintStackTraceOfCurrentThread.java:24)