🥰🥰🥰来都来了,不妨点个关注叭!
👉博客主页:欢迎各位大佬!👈
文章目录
- 1. 先运行java程序!
- 2. 在jdk目录下的bin文件夹中找到jconsole.exe
- 3. 新建连接
- 4. 观察线程状态
- 5. 描述线程执行信息
- 6. 可能遇到的问题
jconsole工具是JDK提供的工具,可以通过第三方工具jconsole,能够查看出java进程里面的线程详情信息和线程的执行情况,有助于更加深入理解多线程,下面是jconsole工具的详细使用步骤:
1. 先运行java程序!
【注意】一定要先运行代码!!!再去运用jconsole工具观察线程状态~
why~? 因为只有正在运行的程序才是进程,才能被检测到!
为了便于观察,在这里写上死循环,程序一直被执行
public class ThreadDemo1{public static void main(String[] args) throws InterruptedException {Thread t = new Thread(()->{while (true) {System.out.println("我是t!");}});t.start();while(true) {System.out.println("我是main");}}
}
2. 在jdk目录下的bin文件夹中找到jconsole.exe
如果忘记JDK安装在哪了,可以看本文末尾可能会遇到的问题中,通过本地IDEA找到的方法~
保持Java程序在运行状态,双击jonsole.exe,运行该程序,出现如下窗口:
3. 新建连接
此时"本地进程"这一行就显示我们当前正在运行的Java程序,选中并进行连接
点击连接后,会出现如下图:直接点击不安全连接
4. 观察线程状态
点击"线程"
5. 描述线程执行信息
【为什么了解线程堆栈跟踪】堆栈跟踪是线程的一个非常关键信息,它描述的是该线程中的代码执行到哪里,当进行多线程编程时,如果代码发生bug,参考堆栈跟踪具有重要意义
6. 可能遇到的问题
【问题1】运行jconsole,发现进程列表式是空着的,很可能是权限问题
【解决方案】鼠标右键以管理员方式打开
【问题2】找不到jdk
【解决方案】点击File,在里面找到Project Structure,点击可以看到JDK home path
【注意】jconsole只能分析java进程,不能识别非java写的进程