java死循环会结束吗?怎么进行java死循环排查?

在进行java项目开发的过程中,有时候我们会遇到java死循环的情况,有经验的程序员一下子就能将这个问题解决,可是新手就未必了,那java死循环会结束吗?下面来我们就来给大家讲解一下。

java运行出现死循环时,在dos命令行界面下,可以直接使用ctrl+c的组合键来停止程序,ctrl+c组合键在dos命令行界面中可以不用等待程序正常运行结束,直接终止程序;还可以直接点击dos命令行界面窗口的关闭按钮来结束程序。在开发工具eclipse或者Myeclipse中,可以直接点击运行控制台中的红色按钮来结束程序。

怎么进行java死循环排查?

如果遇到线上应用cpu飙升,并出现OutOfMemery首先线上应用的jvm配置要养成良好的习惯,增加一下配置则可以在jvm发生oom的时候自动dump日志了 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/log/dump/jvm-oom.log

如果遇到线上应用特别消耗cpu资源怎么去排查?

ps:首先普及一下linux中的java虚拟机线程实现方式:在Linux下面因为没有真正的线程,是用进程模拟的,有一个是辅助线程,所以真正程序开的线程应该只有一个。

一、查看java进程

使用jps 或者ps -ef 查找到相应的java进程或者使用top查看机器占用cpu比例高的进程(进程号:13408)

java死循环会结束吗?怎么进行java死循环排查?.png

二、使用top -H查看线程,进程号:13432

1.png

三、将线程号:13432转换成十六进制:3478

四、查看dump文件或者使用jstack | grep

2.png

Java死循环也是可以提前排查的,利用以上方法就能减少java死循环的概率,提高开发效率哦!最后大家如果想要了解更多java常见问答知识,敬请关注奇Q工具网。

推荐阅读:

java写爬虫效果如何?java如何写一个简单爬虫?

qt解析json出现错误码9什么意思?json怎么正确解析?

json数组是有序的吗?json数组如何入门?