1、下载Windows系统和应用程序监视工具Process Explorer
https://download.sysinternals.com/files/ProcessExplorer.zip【建议使用迅雷】
一、查找进程
查找问题进程比较简单,因为问题集中在CPU资源占用过高,那么我们查找进程时只需关注CPU。方法有两种:
1、查看Windows任务管理器
打开Windows任务管理器,查看——>选择列,勾选PID,然后查看进程项,并让其按照CPU列排序如图,找到 javaw.exe进程,其PID是8196。
二、查找线程
2、打开ProcessExplorer,找到cpu占用高的java.exe,记下进程编号PID,比如当前是8196
双击 java.exe /右键点击Properties...选项,出现如下界面,点击线程 Threads,看到cpu占用最高的 796
进行10进制转16进制,找到线程ID,工具: 在线进制转换 ,出现如下界面:
4、使用的java的jstack工具
打开doc命令行,执行命令:jstack 8196>> D:\\jstack.txt【记住位置就行,取什么名字无所谓】
打开D盘下的jstack.txt文件,搜索16进制的线程编号 31c ,找到后就可定位到有问题的代码,顺藤摸瓜找到代码问题