观测线程的工具——jconsole

joconsole的简单使用

joncole位置在jdk/bin路径中,在进入路径后可以查找到jconsole.exe的应用程序。如图:

双击创建jconsole进程,可以在里面选择所要观测的java文件。

以我的代码为例:

bash 复制代码
class MyThread extends Thread {
    @Override
    public void run() {
        while (true){
            System.out.println("hello thread");
        }

    }
}
public class ThreadDemo1{
    public static void main(String[] args) {
        Thread t = new MyThread();
        t.start();
        while (true){
            System.out.println("hello main");
        }
    }
}

进入其中可以选择"线程"模块进行观测

我们可以看到在线程数据图表中显示着在运行这个java文件中创建了最多17个线程;而在下方告诉了我们线程有哪些;我们所需要的观测线程为Thread-0线程和main线程。点击观察main线程,我们可以在右边观察到该线程的状态和各种信息。

通过上面的图片可以看到线程的状态始终为RUNNABLE,并且等待数为0.因此我们可以得出:线程是并发执行的结论。

相关推荐
鲨鱼辣钊36 分钟前
【FastAPI筑基-Day19】APScheduler定时任务全实战|自动执行、动态启停、后台常驻
java·spring·fastapi
不正经学生2 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技2 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
恋恋西风5 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
学长毕业设计5 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
Brilliantwxx5 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
东小西5 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西5 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
许彰午5 小时前
22-DataCenter报文序列化
java·低代码·架构·状态模式
2601_962065256 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql