欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解Java 打印堆栈的几种方法

程序员文章站 2023-12-09 18:04:03
java 中可以通过 eclipse 等工具直接打印堆栈,但是对于某些环境中无法使用 eclipse 工具时,需要知道堆栈,如何处理呢? 介绍3种方法供选择: 方法一:...

java 中可以通过 eclipse 等工具直接打印堆栈,但是对于某些环境中无法使用 eclipse 工具时,需要知道堆栈,如何处理呢?

介绍3种方法供选择:

方法一:

package name.xu;
public class callstack {
  public static void printcallstatck() {
    throwable ex = new throwable();
    stacktraceelement[] stackelements = ex.getstacktrace();
    if (stackelements != null) {
      for (int i = 0; i < stackelements.length; i++) {
        system.out.print(stackelements[i].getclassname()+"/t");
        system.out.print(stackelements[i].getfilename()+"/t");
        system.out.print(stackelements[i].getlinenumber()+"/t");
        system.out.println(stackelements[i].getmethodname());
        system.out.println("-----------------------------------");
      }
    }
  }
  
}

方法二:

exception e = new exception("this is a log");
e.printstacktrace();

方法三:

复制代码 代码如下:

string fullstacktrace = org.apache.commons.lang.exception.exceptionutils.getfullstacktrace(e)
 

方法四:

thread.currentthread().getstacktrace()

个人推荐,方法一,原因:简单易用,速度快

参考资料:

1、

2、

3、【推荐仔细看看】

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。