观测线程的工具——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.因此我们可以得出:线程是并发执行的结论。

相关推荐
TinyKey12 小时前
malloc_debug_notes
java
郭小李12 小时前
spring @PathVariable 注解用法
java·后端·spring
用户31268748772012 小时前
Java 锁全景:synchronized、ReentrantLock、ReadWriteLock、StampedLock
java
鱼宵12 小时前
CSV 怎么做销售报表?Stream 第 9 课:读洗聚排打五段管道一次跑通
java·报表·stream
jaysee-sjc12 小时前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel
w_zero_one12 小时前
算法--桶思想
java·开发语言·算法
MetaLite12 小时前
Spring 同一个类里调用 @CacheEvict,为什么缓存没清掉?
java·spring·缓存
一个游离的指针13 小时前
ES6新特性:let、const、块级作用域
开发语言·javascript·es6
sunburn-13 小时前
数据库聚合查询完整教程:从基础函数到实战统计
java·数据库·mysql·数据库开发
wangchunyu11413 小时前
JAVA 类加载机制与双亲委派模型
java·开发语言