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

相关推荐
u0109147605 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
爱敲键盘的猴子5 小时前
JVM -- 内存模型(运行时数据区,垃圾回收机制)
jvm
baidu_340998825 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_678485455 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
不吃香菜学java5 小时前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
qq_342295825 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
Greyson16 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
captain3766 小时前
事务___
java·数据库·mysql
justjinji6 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
北漂Zachary6 小时前
四大编程语言终极对比
android·java·php·laravel