![java package tutorial](/java/lang/images/java.jpg)
- Java.lang Package classes
- Java.lang - Home
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang Package extras
- Java.lang - Interfaces
- Java.lang - Errors
- Java.lang - Exceptions
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java Thread dumpStack() Method
Description
The Java Thread dumpStack() method prints a stack trace of the current thread to the standard error stream. This method is used only for debugging.
Declaration
Following is the declaration for java.lang.Thread.dumpStack() method
public static void dumpStack()
Parameters
NA
Return Value
This method does not return any value.
Exception
NA
Example: Printing Stack trace of a thread in Single Threaded Environment
The following example shows the usage of Java Thread dumpStack() method. In this program, we've created a class ThreadDemo. In main method, we've retrieved current thread using currentThread() method, then printed the active thread count using activeCount() method. In the end, we've printed the stack trace using dumpStack() method.
package com.tutorialspoint; public class ThreadDemo { public static void main(String[] args) { Thread t = Thread.currentThread(); t.setName("Admin Thread"); // set thread priority to 1 t.setPriority(1); // prints the current thread System.out.println("Thread = " + t); int count = Thread.activeCount(); System.out.println("currently active threads = " + count); /* prints a stack trace of the current thread to the standard error stream, used for debugging */ Thread.dumpStack(); } }
Output
Let us compile and run the above program, this will produce the following result −
Thread = Thread[#1,Admin Thread,1,main] currently active threads = 1 java.lang.Exception: Stack trace at java.base/java.lang.Thread.dumpStack(Thread.java:2209) at com.tutorialspoint.ThreadDemo.main(ThreadDemo.java:21)
Example: Printing Stack trace of a thread in Multi Threaded Environment
The following example shows the usage of Java Thread dumpStack() method. In this program, we've created a thread class ThreadDemo by implementing Runnable interface. In constructor, we've retrieved current thread using currentThread() method, then created another thread and using start() method, started the same. In the end, we've printed the stack trace using dumpStack() method. In main method, instance of ThreadDemo class is created.
package com.tutorialspoint; public class ThreadDemo implements Runnable { ThreadDemo() { // main thread Thread currThread = Thread.currentThread(); // thread created Thread t = new Thread(this, "Admin Thread"); System.out.println("current thread = " + currThread); System.out.println("thread created = " + t); // this will call run() function t.start(); /* prints a stack trace of the current thread to the standard error stream, used for debugging */ Thread.dumpStack(); } public void run() { System.out.println("This is run() method"); } public static void main(String args[]) { new ThreadDemo(); } }
Output
Let us compile and run the above program, this will produce the following result −
current thread = Thread[#1,main,5,main] thread created = Thread[#21,Admin Thread,5,main] This is run() method java.lang.Exception: Stack trace at java.base/java.lang.Thread.dumpStack(Thread.java:2209) at com.tutorialspoint.ThreadDemo.<init>(ThreadDemo.java:20) at com.tutorialspoint.ThreadDemo.main(ThreadDemo.java:28)