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

 更新时间:2017年06月26日 10:09:11   作者:孤剑  
本篇文章主要介绍了Java 打印堆栈的几种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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、http://blog.csdn.net/chief1985/article/details/4618492

2、http://www.cnblogs.com/flyme/archive/2012/04/10/2440029.html

3、http://stackoverflow.com/questions/1069066/get-current-stack-trace-in-java【推荐仔细看看】

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

相关文章

  • Java中捕获线程异常的几种方式总结

    Java中捕获线程异常的几种方式总结

    这篇文章主要介绍了Java中捕获线程异常的几种方式总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Java中Arrays.asList()方法详解及实例

    Java中Arrays.asList()方法详解及实例

    这篇文章主要介绍了Java中Arrays.asList()方法将数组作为列表时的一些差异的相关资料,需要的朋友可以参考下
    2017-06-06
  • maven中pom.xml详细介绍

    maven中pom.xml详细介绍

    最近在学习maven,这篇文章主要介绍了maven中pom.xml详细介绍,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • java判断是否空最简单的方法

    java判断是否空最简单的方法

    在本篇文章里小编给大家整理的一篇关于java判断是否空最简单的方法,有兴趣的读者们可以参考下。
    2019-12-12
  • Java设计模式之策略模式_动力节点Java学院整理

    Java设计模式之策略模式_动力节点Java学院整理

    策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。接下来通过本文给大家分享Java设计模式之策略模式,感兴趣的朋友一起看看吧
    2017-08-08
  • Java并发编程学习之Unsafe类与LockSupport类源码详析

    Java并发编程学习之Unsafe类与LockSupport类源码详析

    这篇文章主要给大家介绍了关于Java并发编程学习之Unsafe类与LockSupport类源码的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-06-06
  • 解决mybatisPlus 中的field-strategy配置失效问题

    解决mybatisPlus 中的field-strategy配置失效问题

    这篇文章主要介绍了解决mybatisPlus 中的field-strategy配置失效问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • nodejs与JAVA应对高并发的对比方式

    nodejs与JAVA应对高并发的对比方式

    这篇文章主要介绍了nodejs与JAVA应对高并发的对比方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • java中进制的转换,Byte与16进制的转换方法

    java中进制的转换,Byte与16进制的转换方法

    下面小编就为大家带来一篇java中进制的转换,Byte与16进制的转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Java-JFrame-swing嵌套浏览器的具体步骤

    Java-JFrame-swing嵌套浏览器的具体步骤

    下面小编就为大家带来一篇Java-JFrame-swing嵌套浏览器的具体步骤。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10

最新评论