JVM打印堆棧信息的方式有兩種:使用Throwable類的printStackTrace()方法和使用Thread類的getStackTrace()方法。
try {
// 代碼塊
} catch (Throwable throwable) {
throwable.printStackTrace();
}
這種方式會將堆棧信息直接打印到控制臺。
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
for (StackTraceElement stackTraceElement : stackTraceElements) {
System.out.println(stackTraceElement.toString());
}
這種方式會將堆棧信息遍歷打印出來。
注意:這兩種方式都只是在控制臺打印堆棧信息,如果需要將堆棧信息保存到文件或者進行其他處理,可以使用相關的IO操作。