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

介绍3种方法供选择:

方法一:

packagename.xu;

public classCallStack {

public static voidprintCallStatck() {

Throwable ex = newThrowable();

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 打印堆栈的几种方法相关推荐

  1. java 获取区间随机数_Java获取随机数的3种方法

    主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.rando ...

  2. java 获取区间随机数_Java获取随机数的几种方法

    随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...

  3. java多线程传值覆盖_Java 多线程传值的四种方法

    其实大家都知道多线程传值有三种方式: 1:通过构造方法传递数据 2:通过变量和方法传递数据 3:通过回调函数传递数据 那么博主有个非常变态的需求,所以找出了第四种实现方式,先看效果图: 动态Cron4 ...

  4. java线程异步传值_Java 多线程传值的四种方法

    Java 多线程传值的四种方法 作者: sunjs 更新时间:2020-09-11 15:20:16 原文链接 其实大家都知道多线程传值有三种方式: 1:通过构造方法传递数据 2:通过变量和方法传递数 ...

  5. java字符串abc反转_JAVA字符串反转的三种方法

    方法一:使用StringBuilder import java.util.Scanner; public class StrReversal { public static void main(Str ...

  6. java list for循环_Java List遍历的3种方法

    Java List遍历的3种方法 1. Iterator遍历list集合 List list=new ArrayList(); list.add("java1"); list.ad ...

  7. java 结束 线程结束_Java结束线程的三种方法(爱奇艺面试)

    线程属于一次性消耗品,在执行完run()方法之后线程便会正常结束了,线程结束后便会销毁,不能再次start,只能重新建立新的线程对象,但有时run()方法是永远不会结束的.例如在程序中使用线程进行So ...

  8. java实现自动任务_Java实现定时任务的三种方法

    普通thread 这是最常见的,创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果.这样可以快速简单的实现,代码如下: public class Tas ...

  9. java怎么调用存储过程_Java调用存储过程的2种方法

    creat proc proc_select @pid varchar(20) @address varchar(20) output as select @address=address from ...

  10. java字符串比大小_Java字符串比较(3种方法)

    字符串比较是常见的操作,包括比较相等.比较大小.比较前缀和后缀串等.在 Java 中,比较字符串的常用方法有 3 个:equals() 方法.equalsIgnoreCase() 方法. compar ...

最新文章

  1. 使用 Boost.MPI 的 all_reduce() 计算最小值的示例
  2. Java黑皮书课后题第8章:*8.8(所有最近的点对)修改程序清单8-3,找出所有所有具有最小距离的点对。下面是一个运行示例
  3. AC automation 模板
  4. pythonpy文件打包成exe软件
  5. 基于JAVA+SpringMVC+MYSQL的医院分诊挂号管理系统
  6. 【Python-3.5】matplotlib绘制气温折线图
  7. java 构建 数字 list_数字全排列返回list的list:java实现
  8. java mac算法_银行业加密算法,MAC算法算法(java-国密)
  9. 源码下载地址及各类资源站点
  10. 安卓TV应用 Hello Word - 怎样新建一个Android TV 项目
  11. 想转行程序员,参加java培训班真的有用吗?
  12. HDU-4539 郑厂长系列故事——排兵布阵 状态压缩DP Or 最大团
  13. 如果你想要做好抖音直播间需要注意的其他事项(三)
  14. SOIC8E (EXPOSED PAD)
  15. 孩子该不该学编程?学编程有用吗?
  16. 这款小程序 能让你和孙悟空一样 可以七十二变
  17. Spark之sbt安装
  18. oracle job enq tx,【学习笔记】Oracle等待事件 enq:TX–allocate ITL entry产生原因和解决办法...
  19. [创新工具和方法论]-02- DOE实验设计步骤
  20. commons-lang3

热门文章

  1. java 定时任务注解
  2. c语言 鼠标宏,鼠标宏设置软件下载 Mini Mouse Macro(鼠标宏设置工具) v7.2.0.0 免费安装版 下载-脚本之家...
  3. API接口出来了,填写客户收货地址不用烦,自动填写不出差错
  4. abaqus2018安装教程win10_win10怎么安装abaqus v6.12_win10系统abaqus v6.12安装详细教程
  5. 如何将大华设备通过大华SDK接入Demo工具测试视频接入?
  6. python blp模型 估计_BLP模型
  7. Hydra(弱密码爆破)使用教程
  8. 弱密码、未授权加固/修复建议
  9. 康威生命游戏-蓝桥杯java
  10. 截图工具-Excel加载宏(图片大小可调)