为了账号安全,请及时绑定邮箱和手机立即绑定

JVM中常用堆栈跟踪内建指令

标签:
Java

   在使用Java的程序中难免会遇上程序异常的现象,此时就可以使用JDK下的jstack和jmap来跟踪观察JVM中的内存堆栈信息用以分析,不过注意的是如果是在windows版本或者是开源版中一般都是没有的,如果需要使用需要安装相应的开发调试工具,下面就简单的说一说:

jstack 一般而言之后跟着都是Java程序运行的pid或者是相应的Java代码文件,如:jstack $pid,平时可以把相关的堆栈信息再导出到某一个文件中正用以进一步观察,如:jstack $pid > file.dump

jmap 同jstack的功能效果是差不多的,不过相比而言它会更为的强大一些,同样它之后也是跟着Java程序运行的pid,但是它还有一些参数选项:

默认是没有带这些参数选项的,仅能打印一些简单的信息-heap    用于打印Java的堆栈的摘要信息-histo[:live]    用于打印堆栈的实时信息,常用于堆栈的实时跟踪-clstats    用于打印Java中的类加载的信息-finalizerinfo    用于打印关于等待确定的对象的信息-dump:<dump-options>    把相关的堆栈信息dump至二进制文件中用于开发调试工具中使用,如:jmap -dump:format=b,file=Java_jmp.hprof $pid-F    该选项跟着-dump选项一起使用,表示在dump出的二进制文件中不打印打印堆栈的实时信息,但是其他的信息都有打印-J<flag>    将标志传给Java程序,即在做断点

总之在Java的程序发生异常的时候利用其中相关的堆栈跟踪内建指令都能很好的排查其中的问题


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消