在运行 JConsole 之前先保证自己的进程代码正在运行中并且没有运行结束,如果代码很快就执行结束了,可以在进程内部加一个死循环
例如下面代码:
public class Test0804 {
static class Mythread extends Thread {
@Override
public void run() {
System.out.println("Hello ,I am a thread!");
//while 循环保证进程不会结束
while (true){
}
}
}
public static void main(String[] args) {
Thread t = new Mythread();
//执行这个 start 方法才是真正创建出了一个线程
//此时内核中才随之出现了一个 PCB ,这个 PCB 就会让 CPU 来执行该线程的代码
t.start();
//while 循环保证进程不会结束
while (true){
}
}
}
程序运行后,首先找到 jdk 的安装目录下的 bin 目录
然后点击里面的 jconsole.exe
可以看到下面的窗口
在本地连接找到自己的进程即可
进入后选择不安全的连接,由于都是本地连接所以无所谓安不安全问题
连接成功后选择线程窗口即可查看线程