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

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

在这里插入图片描述

文章目录

  • 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.mzph.cn/diannao/28021.shtml

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

相关文章

OpenCV形态学

什么事形态学处理 基于图像形态进行处理的一些基本方法; 这些处理方法基本是对二进制图像进行处理; 卷积核决定着图像出来后的效果。 一 图像二值化 什么是二值化 将图像的每个像素变成两种值,如0,255. 全局二值化。 局部二值化。 thres…

【LVGL v8.3】修改 ARC 控件指针图片风格

文章目录 前言实现注意 前言 在车辆仪表中,ARC 控件作为仪表指针,常用图片做特定显示指针 Guider 1.7.2 初始化目前不能指定图片风格 通过修改代码,追加效果 实现 原生指针部件代码:只有颜色,宽度,透明…

08 SpringBoot 自定定义配置

SpringBoot自定义配置有三种方式: 使用PropertySource进行自定义配置 使用ImportResource进行自定义配置 使用Configuration进行自定义配置 PropertySource ​ 如果将所有的配置都集中到 application.properties 或 application.yml 中,那么这个配置文…

Python闯LeetCode--第1题:两数之和

Problem: 1. 两数之和 文章目录 思路解题方法复杂度Code 思路 看到这道题第一思路就是暴力破解,枚举,两个for循环遍历,直到找到满足要求的答案。主要因题目假设只有一组满足结果的答案,因此难度大大降低,作为第一道题&…

解决javadoc一直找不到路径的问题

解决javadoc一直找不到路径的问题 出现以上问题就是我们在下载jdk的时候一些运行程序安装在C:\Program Files\Common Files\Oracle\Java\javapath下: 一开始是没有javadoc.exe文件的,我们只需要从jdk的bin目录下找到复制到这个里面,就可以使用…

去掉eslint

1、在vue.config.js文件里加上下面的代码,然后重启就可以了! 2、vue.config.js文件代码: const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,lintOnSave: false })

堆栈溢出的攻击 -fno-stack-protector stack smash 检测

在程序返回的一条语句堆栈项目处&#xff0c;用新函数的起始地址覆盖&#xff0c;将会跳转到执行新函数。 现在系统对这个行为做了判断&#xff0c;已经无法实施这类攻击或技巧。 1&#xff0c;测试代码 #include <stdio.h> void cc() {printf("I am cc( )\n"…

设置SSHkeys多服务器免登录配置(ssh config)

一、背景&#xff1a; 多邮箱或者多git账号进行同一台电脑开发的情况。 有时候&#xff0c;开发时可能会面临一个情况&#xff0c;就是通过自己的电脑&#xff0c;可能同时需要开发多个不同地方的项目&#xff0c;或者说&#xff0c;自己建立的项目已经配置好SSH验证免密登录&a…

C# WPF入门学习主线篇(二十三)—— 控件模板(ControlTemplate)和数据模板(DataTemplate)

C# WPF入门学习主线篇&#xff08;二十三&#xff09;—— 控件模板&#xff08;ControlTemplate&#xff09;和数据模板&#xff08;DataTemplate&#xff09; 在WPF开发中&#xff0c;控件模板&#xff08;ControlTemplate&#xff09;和数据模板&#xff08;DataTemplate&am…

基于Python+OpenCV+SVM车牌识别系统(GUI界面)【W3】

简介&#xff1a; 随着交通管理的日益复杂化和智能化需求的增加&#xff0c;车牌识别系统在安防、智慧交通管理等领域中扮演着重要角色。传统的车牌识别系统主要基于图像处理和模式识别技术&#xff0c;随着计算机视觉技术的发展&#xff0c;基于Python、OpenCV和机器学习算法的…

Vue3新特性指南:探索新增指令、内置组件和改进

Vue.js是一款流行的JavaScript框架,用于构建现代Web应用。Vue3是Vue.js的最新版本,引入了许多新特性和改进。本文将介绍Vue3新增的指令、内置组件以及其他值得关注的改进,并提供使用组合式API的用法示例。 一、新增指令 v-is指令: v-is指令用于动态组件,可以根据表达式的值来…

2024年6月-Docker配置镜像代理

步骤1&#xff1a;编辑 daemon.json 文件 vim /etc/docker/daemon.json步骤2&#xff1a;添加配置 将以下内容粘贴到文件中&#xff1a; {"insecure-registries": ["192.168.0.99:8800"],"data-root": "/mnt/docker","registr…

redis 故障处理: 持续更新

redis 内存快满&#xff1a; 突发性&#xff1a; 1.1 当突发的时候&#xff0c;先进行扩容redis 内存&#xff1a; CONFIG SET maxmemory 6G 1.2 通过monter 获取当前redis 请求&#xff0c;发送给开发&#xff0c;让开发进行处理一下缓慢性&#xff1a; 进行扫描一下redis…

文件初阶入门(葵花宝典)

1. 文件的顺序读写 1.1 顺序读写函数的介绍 函数名 功能 适用于 fgetc 字符输入函数 所有输入流 fputc 字符输出函数 所有输出流 fgets 文本行输入函数 所有输入流 fputs 文本行输出函数 所有输出流 f…

小数二分个人见解

小数二分 小数二分题目 小数二分 整数二分 是找边界点&#xff0c;而小数二分找的是 近似值。 整数二分是在一个整型数组当中 查找&#xff0c;而小数二分是在数轴中 查找&#xff0c;都是每次可以排除一半的区间&#xff0c;只不过小数二分中while循环内的结束条件和整数二分…

大模型中的计算精度——FP32, FP16, bfp16之类的都是什么???

大模型中的计算精度——FP32, FP16, bfp16之类的都是什么&#xff1f;&#xff1f;&#xff1f; 这些精度是用来干嘛的&#xff1f;&#xff1f;混合精度 mixed precision training什么是混合精度&#xff1f;怎么转换呢&#xff1f; 为什么大语言模型通常使用FP32精度训练量化…

深入探索Spring Boot的条件装配与条件注解

Spring Boot 的条件装配&#xff08;Conditional装配&#xff09;是一个强大的功能&#xff0c;它允许你根据特定的条件来决定哪些配置类、beans 或组件应该被加载到Spring应用上下文中。这有助于创建更灵活、更模块化的Spring Boot应用程序。 在Spring Boot中&#xff0c;条件…

ECharts 数据的视觉映射

ECharts 数据的视觉映射 ECharts 是一个由百度开源的&#xff0c;基于 JavaScript 的数据可视化库。它提供了丰富的图表类型和灵活的配置选项&#xff0c;使得用户能够轻松地将数据转换为直观的图表。在 ECharts 中&#xff0c;数据的视觉映射是一个核心功能&#xff0c;它允许…

关于element-plus中el-select自定义标签及样式的问题

关于element-plus中el-select自定义标签及样式的问题 我这天天的都遇到各种坑&#xff0c;关于自定义&#xff0c;我直接复制粘贴代码都实现不了&#xff0c;研究了一下午&#xff0c;骂骂咧咧了一下午&#xff0c;服气了。官网代码实现不了&#xff0c;就只能 “ 曲线救国 ”…

前端面经总结、学习【2023秋招】

目录 1、浏览器输入URL发生了什么&#xff1f;2、跨域是什么&#xff1f;如何解决跨域问题&#xff1f;3、cookie 是什么&#xff1f;4、cookie 能做什么&#xff1f; 1、浏览器输入URL发生了什么&#xff1f; URL解析&#xff1a;判断浏览器输入的是搜索内容还是URL&#xff…