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

相关推荐
暮雪倾风13 分钟前
【JS-Node】node.js环境安装及使用
开发语言·javascript·node.js
Polar__Star2 小时前
如何结合计划任务实现自动定时备份任务配置_全自动化运维管理
jvm·数据库·python
weixin_580614007 小时前
如何提取SQL日期中的年份_使用YEAR或EXTRACT函数
jvm·数据库·python
2301_813599557 小时前
SQL生产环境规范_数据库使用最佳实践
jvm·数据库·python
a9511416427 小时前
Go 中通过 channel 传递切片时的数据竞争与深拷贝解决方案
jvm·数据库·python
Dxy12393102167 小时前
Python 使用正则表达式将多个空格替换为一个空格
开发语言·python·正则表达式
qq_189807038 小时前
如何修改RAC数据库名_NID工具在集群环境下的改名步骤
jvm·数据库·python
zhangchaoxies8 小时前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
zhangchaoxies8 小时前
CSS如何实现响应式弹性网格布局_配合media query修改flex-wrap属性
jvm·数据库·python
故事和你919 小时前
洛谷-数据结构1-1-线性表1
开发语言·数据结构·c++·算法·leetcode·动态规划·图论