【多线程】如何使用jconsole工具查看Java线程的详细信息?

news2024/10/7 7:35:26

🥰🥰🥰来都来了,不妨点个关注叭!
👉博客主页:欢迎各位大佬!👈

在这里插入图片描述

文章目录

  • 1. 先运行java程序!
  • 2. 在jdk目录下的bin文件夹中找到jconsole.exe
  • 3. 新建连接
  • 4. 观察线程状态
  • 5. 描述线程执行信息
  • 6. 可能遇到的问题

jconsole工具是JDK提供的工具,可以通过第三方工具jconsole,能够查看出java进程里面的线程详情信息和线程的执行情况,有助于更加深入理解多线程,下面是jconsole工具的详细使用步骤:

1. 先运行java程序!

【注意】一定要先运行代码!!!再去运用jconsole工具观察线程状态~
why~? 因为只有正在运行的程序才是进程,才能被检测到!
为了便于观察,在这里写上死循环,程序一直被执行

public class ThreadDemo1{
    public static void main(String[] args) throws InterruptedException {
        Thread t = new Thread(()->{
            while (true) {
                System.out.println("我是t!");
            }
        });

        t.start();

        while(true) {
            System.out.println("我是main");
        }

    }
}

2. 在jdk目录下的bin文件夹中找到jconsole.exe

如果忘记JDK安装在哪了,可以看本文末尾可能会遇到的问题中,通过本地IDEA找到的方法~
在这里插入图片描述
保持Java程序在运行状态,双击jonsole.exe,运行该程序,出现如下窗口:

3. 新建连接

此时"本地进程"这一行就显示我们当前正在运行的Java程序,选中并进行连接
在这里插入图片描述
点击连接后,会出现如下图:直接点击不安全连接
在这里插入图片描述

4. 观察线程状态

点击"线程"
在这里插入图片描述

5. 描述线程执行信息

在这里插入图片描述
为什么了解线程堆栈跟踪堆栈跟踪是线程的一个非常关键信息,它描述的是该线程中的代码执行到哪里,当进行多线程编程时,如果代码发生bug,参考堆栈跟踪具有重要意义

6. 可能遇到的问题

问题1】运行jconsole,发现进程列表式是空着的,很可能是权限问题
解决方案鼠标右键以管理员方式打开
问题2】找不到jdk
解决方案】点击File,在里面找到Project Structure,点击可以看到JDK home path
在这里插入图片描述
注意jconsole只能分析java进程,不能识别非java写的进程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1826608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python安装教程】2024年最新版Python环境搭建及模块安装,保姆教程,手把手操作,不信你还不会!

前言 Python 可应用于多个平台,如 Windows 、 Linux 和 MacOS 。 如何检测电脑是否安装了Python? 按键盘winR键,打开运行框。输入CMD,回车确定。输入where Python后回车,如有安装则会显示Python的安装位置。如未安装…

Java web应用性能分析之【prometheus+Grafana监控springboot服务和服务器监控】

Java web应用性能分析之【java进程问题分析概叙】-CSDN博客 Java web应用性能分析之【java进程问题分析工具】-CSDN博客 Java web应用性能分析之【jvisualvm远程连接云服务器】-CSDN博客 Java web应用性能分析之【java进程问题分析定位】-CSDN博客 Java web应用性能分析之【…

利用鱼骨图进行项目问题复盘与改进

一、引言 在项目管理中,问题复盘是一个至关重要的环节。它不仅能帮助我们识别项目执行过程中出现的问题,还能促使我们深入探究问题的根本原因,从而采取有效的改进措施。在这个过程中,鱼骨图作为一种强大的工具,为我们…

Android 13.0 Launcher3单层模式workspace中app列表页排序功能实现

1.概述 在13.0的定制化开发中,对于Launcher3的功能定制也是好多的,而对于单层app列表页来说排序功能的开发,也是常有的功能这就需要了解加载app数据的流程,然后根据需要进行排序就可以了,接下来就来实现这个功能 如图: 2. Launcher3单层模式workspace中app列表页排序功能…

Linux-Tomcat服务配置到系统服务

目录 前言一、系统环境二、配置步骤step1 了解环境的安装路径step2 配置生成tomcat.pid文件step3 配置tomcat.service文件 三、测试systemctl命令管理Tomcat服务3.1 systemctl命令启动Tomcat服务3.2 systemctl命令查看Tomcat服务3.3 systemctl命令关闭Tomcat服务3.4 systemctl命…

【计算机网络仿真实验-实验2.4、2.5】静态路由、动态路由(RIP)

实验2.4 静态路由 1. 实验拓扑图 注意:有些同学不知道两个路由器之间如何用串行DCE(红线)相接,只需要为路由器分别增加新的HWIC-2T接口卡就好了 不知道如何添加物理接口的,可以查看本人计算机网络专栏中【计算机网络仿真实验——实验准备】…

JDK8-17新特性

一、JDK8新特性:Lambda表达式 1.Lambda表达式及其使用举例 Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力…

Elasticsearch 认证模拟题 - 21

一、题目 写一个查询,要求查询 kibana_sample_data_ecommerce 索引,且 day_of_week、customer_gender、currency、type 这 4 个字段中至少两个以上。 1.1 考点 Boolean 1.2 答案 GET kibana_sample_data_ecommerce/_search {"query": {&q…

湘潭大学软件工程数据库2(题型,复习资源和计划)

文章目录 选择题关系范式事务分析E-R 图sql作业题答案链接(仅限有官方答案的版本)结语 现在实验全部做完了,实验和作业占比是百分之 40 ,通过上图可以看出来,重点是 sql 语言 所以接下来主要就是学习 sql 语句怎么书写…

AirPlay技术规范及认证资讯

AirPlay是Apple开发的一种无线技术,允许用户将音频、视频或图片从iOS设备、Mac电脑或其他支持AirPlay的设备无线传输到支持AirPlay的接收器设备上,例如智能电视或音响系统。这项技术基于Wi-Fi网络,提供了一种便捷的方式来共享媒体内容。AirPl…

GitLab教程(二):快速上手Git

文章目录 1.将远端代码克隆到本地2.修改本地代码并提交到远程仓库3.Git命令总结git clonegit statusgit addgit commitgit pushgit log 首先,我在Gitlab上创建了一个远程仓库,用于演示使用Gitlab进行版本管理的完整流程: 1.将远端代码克隆到本…

C++ 18 之 函数的重载

c18函数的重载.cpp #include <iostream> #include <string.h> using namespace std;void fun4(int a) {cout << "int a: "<< a << endl; } void fun4(double a) {cout << "double a: " << a << endl; }v…

嵌入式学习——Linux高级编程复习(UDP编程)——day43

1. UDP编程——函数接口 1.1 socket 1. 定义 int socket(int domain, int type, int protocol); 2. 功能 创建一个用来进程通信的套接字,返回文件描述符 3. 参数 domain:AF_INET IPv4协议族 type:SOCK_STREAM 流式套接字 tcp传输协议…

MYSQL八、MYSQL的SQL优化

一、SQL优化 sql优化是指&#xff1a;通过对sql语句和数据库结构的调整&#xff0c;来提高数据库查询、插入、更新和删除等操作的性能和效率。 1、插入数据优化 要一次性往数据库表中插入多条记录&#xff1a; insert into tb_test values(1,tom); insert into tb_tes…

Day52 代码随想录打卡|二叉树篇---二叉搜索树中的众数

题目&#xff08;leecode T501&#xff09;&#xff1a; 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。 如果树中有不止一个众数&#xff0c…

Radis初阶 Radis基本命令与在Springboot中访问Radis

阿里网盘链接 文章目录 初始NoSQL数据库对比MySQL数据库从结构方面&#xff1a;从关系方面&#xff1a;从查询方式&#xff1a;从事物方面&#xff1a; Redis入门Redis数据结构访问Radis通用命令&#xff08;tab键&#xff1a;自动补全&#xff09;KEYSDELEXISTSEXPIRETTL Str…

硬件SPI读写W25Q64

硬件SPI读写W25Q64 接线图&#xff08;和软件SPI一样&#xff09; 使用SPI1&#xff0c;SCK&#xff0c;接PA5&#xff1b;MISO&#xff0c;接PA6&#xff1b;MOSI&#xff0c;接PA7&#xff1b;NSS&#xff0c;可接PA4。 接线图对应&#xff1a;PA5接CLK引脚&#xff0c;PA6…

军事武器3D数字化交互展示创作平台大大降低成本

军事力量和装备是一个国家国防安全的重要支柱&#xff0c;这在全球范围内得到广泛认同&#xff0c;为了让入伍的新兵能快速熟悉和掌握武器装备操作流程&#xff0c;基于创新型的华锐3D云展平台工具&#xff0c;搭建的3D军事武器展示搭建编辑器&#xff0c;让部队的军事武器展示…

Apollo9.0 PNC源码学习之Control模块(一)—— 控制模块概览

0 前言 从planning的角度看control&#xff0c;首先需要了解的就是相关的数据接口&#xff0c;规划出的轨迹&#xff08;路径速度&#xff09;发给Control模块去执行 modules/planning/planning_component/planning_component.cc planning模块发布轨迹信息 planning_writer_ …

程序员基本功之git的使用

阿里网盘-资料链接 文章目录 git分布式版本控制工具git的基本概念开发过程中的问题常见的版本控制工具git分布式版本控制工具特点git系统所定制的若干目标git的工作流程图 GIT的安装和常用命令**创建本地git仓库步骤****本地git仓库的使用**git log详解 git分布式版本控制工具…