1.多线程诊断工具jconsole、jstack、查看字节码

本文主要讲解在多线程下,如何使用诊断工具jconsole、jstack、查看字节码。

jconsole

  1. 首先使用win+r快捷键调出运行窗口,然后再输入jconsole执行。
  2. 然后连接自己的程序。
  3. 连接好后,可以在线程选项模块中查看各个线程的状态。
    1.多线程诊断工具jconsole、jstack、查看字节码
    1.多线程诊断工具jconsole、jstack、查看字节码

jstack

  1. 在windows环境下,可以先在cmd命令行执行jps 用以查看相关的程序进程的pid。
  2. 在使用jstack pid命令查看线程的阻塞情况。(我们知道线程的默认名称是Thread-n,n是一个叠加的数字并从0开始叠加,所以默认情况下我们的线程名称是类似于:Thread-0、Thread-1…, 因此在输入这个命令后会输出很多内容,我们就根据线程的名称找到我们相关的线程的信息就可以了)
    1.多线程诊断工具jconsole、jstack、查看字节码
    1.多线程诊断工具jconsole、jstack、查看字节码

使用jstack诊断线程死锁

1.多线程诊断工具jconsole、jstack、查看字节码
1.多线程诊断工具jconsole、jstack、查看字节码

查看字节码:javap -c 目标.class文件

示例:
1.多线程诊断工具jconsole、jstack、查看字节码
通常在执行命令的时候,不知道该命令的参数代表什么意思,可以通过命令 --help查看该命令的所有参数各代表什么意思
例如:
1.多线程诊断工具jconsole、jstack、查看字节码