Java 性能优化

Java 性能优化主要是通过 jconsole(java监视与管理控制台)和命令行(top、jstack)分析程序的运行状态,找到有问题的代码并修复。

1 代码

运行上面的测试代码,我们很明显的知道错误代码是在 25 行左右,会形成死循环,引起 CPU 过高。接下来我们通过工具的方式找到问题代码。

2 命令行分析

进入命令行执行 top 命令,可以看见如下所示界面

pid=9665 的 cpu 耗用非常高,执行命令 jstack 9665 > java.log 命令抓取日志信息并写入 java.log 文件中。

通过文件我们发现问题出在 JavaTest.java 的第25行命令。

3 jconsole 分析

使用 top 和 jstack 循环抓取可分析项目中有问题的代码,但这种方式并不是很高效。Java 给我们提供了基于 JMX 的可视化监视管理工具 jconsole。

命令行执行 jconsole,选中需要分析的项目,即可看见如下面板

这里我们可以观察到很多信息,日常工作中我们也多是通过这种方式分析监控项目。点击线程模块。

这里可以通过 main 线程很明显的发现问题,主线程一直停留在25行代码。

 


Appendix

Revision History

时间描述
2017-12-03博文完成

CSDN:http://blog.csdn.net/y550918116j

GitHub:https://github.com/937447974

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值