学习 尚硅谷 宋红康 JVM从入门到精通 的学习笔记

概述

从jdk5开始,在jdk中自带的Java监控和管理控制台.
用于对jvm中的内存(内存分的展示的也比较细致)、线程(线程有多少个)和类(加载了多少个类)等监控,

建议直接跳过JConsole,直接学习Visual VM ,毕竟这两个都是jdk自带的。

使用

启动方式

两种启动方式:
1.在jdk安装目录中找到jconsole.exe,双击该可执行文件就可以

2. 打开cmd 的 DOS窗口,直接输入jconsole就可以了

连接方式

Local

使用JConsole连接一个正在本地系统运行的JVM,并且执行程序的和运行JConsole的需要是同一个用户。JConsole使用文件系统的授权通过RMI连接起链接到平台的MBean的服务器上。这种从本地连接的监控能力只有Sun的JDK具有。

注意:本地连接要求 启动jconsole的用户 和 运行当前程序的用户 是同一个用户

具体操作如下:
1、在DOS窗口中输入jconsole

2、在控制台上填写相关信息

3、选择“不安全的连接”

4、进入控制台页面

Remote

使用下面的URL通过RMI连接器连接到一个JMX代理,service:jmx:rmi:///jndi/rmi://hostName:portNum/jmxrmi。JConsole为建立连接,需要在环境变量中设置mx.remote.credentials来指定用户名和密码,从而进行授权。

Advanced

使用一个特殊的URL连接JMX代理。一般情况使用自己定制的连接器而不是RMI提供的连接器来连接JMX代理,或者是一个使用JDK1.4的实现了JMX和JMX Rmote的应用

功能演示基本演示

import java.util.ArrayList;
import java.util.Random;/*** -Xms600m -Xmx600m -XX:SurvivorRatio=8* @author shkstart  shkstart@126.com* @create 2020  17:51*/
public class HeapInstanceTest {byte[] buffer = new byte[new Random().nextInt(1024 * 100)];public static void main(String[] args) {try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}ArrayList<HeapInstanceTest> list = new ArrayList<HeapInstanceTest>();while (true) {list.add(new HeapInstanceTest());try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}}}
}

启动上面的代码

选择你启动的Java进程

选择“不安全的连接”


内存区域


程序在执行的过程中跑的线程有哪些


加载的类的个数


虚拟机的概述信息

演示检测死锁

public class ThreadDeadLock {public static void main(String[] args) {StringBuilder s1 = new StringBuilder();StringBuilder s2 = new StringBuilder();new Thread(){@Overridepublic void run() {synchronized (s1){s1.append("a");s2.append("1");try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}synchronized (s2){s1.append("b");s2.append("2");System.out.println(s1);System.out.println(s2);}}}}.start();new Thread(new Runnable() {@Overridepublic void run() {synchronized (s2){s1.append("c");s2.append("3");try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}synchronized (s1){s1.append("d");s2.append("4");System.out.println(s1);System.out.println(s2);}}}}).start();}
}

执行上面的main方法,然后用下面的jConsole就能看到死锁了.

JVM监控及诊断工具之JConsole相关推荐

  1. JVM学习笔记之-JVM性能监控-JVM监控及诊断工具-命令行方式

    性能优化的步骤 第1步(发现问题):性能监控 一种以非强行或者入侵方式收集或查看应用运营性能数据的活动. 监控通常是指一种在生产.质量评估或者开发环境下实施的带有预防或主动性的活动. 当应用相关干系人 ...

  2. 性能监控与调优篇之【3. JVM 监控及诊断工具-GUI 篇】

    文章目录 3. JVM 监控及诊断工具-GUI 篇 3.1. 工具概述 3.2. JConsole 3.3. Visual VM 3.4. Eclipse MAT 3.5. JProfiler 3.6 ...

  3. JVM监控及诊断工具-GUI篇

    3.JVM监控及诊断工具-GUI篇 一.工具概述 使用上一章命令行工具或组合能帮您获取目标Java应用性能相关的基础信息,但它们存在下列局限: 1.无法获取方法级别的分析数据,如方法间的调用关系.各方 ...

  4. 20.JVM监控以及诊断工具-GUI篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 20. JVM监控及诊断工具-GUI篇 20.1. 工具概述 使用上一章命令行工具或组合能帮您获取目标Java应用性能相 ...

  5. 干货满满【JVM监控及诊断工具-GUI篇】

    [JVM监控及诊断工具-GUI篇] 3.1. 工具概述 使用上一章命令行工具或组合能帮您获取目标Java应用性能相关的基础信息,但它们存在下列局限: 1.无法获取方法级别的分析数据,如方法间的调用关系 ...

  6. Day357358359360.JVM监控及诊断工具-GUI -JVM

    JVM监控及诊断工具-GUI 实际中,你下面有1-2款会用即可 一.工具概述 二.JConsole 了解 1.基本概述 2.启动 在jdk安装目录中找到jconsole.exe,双击该可执行文件就可以 ...

  7. JVM 学习笔记二十六、JVM监控及诊断工具-GUI篇

    二十六.JVM监控及诊断工具-GUI篇 1.工具概述 使用上一张命令行工具或组合能帮您获取目标Java应用性能相关的基础信息,但他们存在下列局限: (1)无法获取方法级别的分析数据,如方法间的调用关系 ...

  8. 第24章 JVM监控及诊断工具-GUI篇

    第24章 JVM监控及诊断工具-GUI篇 来自尚硅谷宋红康老师讲解的JVM:bilibili链接 1 工具概述 使用上一张命令行工具或组合能帮您获取目标Java应用性能相关的基础信息,但他们存在下列局 ...

  9. JVM 学习笔记二十五、JVM监控及诊断工具-命令行篇

    二十五.JVM监控及诊断工具-命令行篇 1.概述 性能诊断是软件工程师在日常工作中经常面对和解决的问题,在用户体验至上的今天,解决好应用软件的性能问题能带来非常大的收益. Java作为最流行的编程语言 ...

  10. JVM学习笔记之-JVM性能监控-JVM监控及诊断工具-GUI方式-Visual VM-JProfiler-Arthas

    00-谈GUI工具前的补充 补充1:内存泄漏 内存泄漏的理解与分类 何为内存泄漏( memory leak) 可达性分析算法来判断对象是否是不再使用的对象,本质都是判断一个对象是否还被引用.那么对于这 ...

最新文章

  1. 信度效度难度区分度是什么意思_高考试题的效度信度区分度难度什么意思?
  2. NumPy学习笔记(一)
  3. matlab求微分方程的系数,Matlab中系数为离散值的微分方程求解【编辑完成求解答】...
  4. 手机站的拨打电话和发短信
  5. 剑指offer【书】之简历抒写
  6. 使用FlyMcu ISP清除 STM32F411CE 芯片卡死
  7. cad汉仪长仿宋体_工程制图国标字体“长仿宋体”下载
  8. 如何快速更换ip地址?
  9. office各版本网盘免费下载
  10. 手机APP测试类型与方法
  11. kafka接口操作topic
  12. SpaceVim - 让你的vim变得更加高效和强大
  13. 计算机如何制作表格基础,计算机基础教程(Word表格制作)
  14. 截取音乐片段的计算机软件,电脑上剪辑音乐的软件
  15. IOB寄存器的使用:IOB= TRUE 属性
  16. 渗透测试流程 - 渗透测试的9个步骤
  17. 常用的几款幕墙BIM软件
  18. Intel处理器分类规则
  19. python使用背景图片做词云图
  20. QQ登陆第三方Demo(QQ互联)

热门文章

  1. 计算机发展史说课ppt,创新杯 计算机类 说课ppt课件.ppt
  2. 离散求边缘密度_密度梯度理论简介——半导体器件仿真
  3. 2022年全球与中国飞秒光纤激光器市场现状及未来发展趋势
  4. vb中线性拟合_#vb调用excel线性拟合#如何在excle表格中做线性回归分析
  5. CH(NH2)2PbI3(FAPbI3) 甲脒碘基钙钛矿 1451592-07-6
  6. Studio 3T过期了的解决办法,亲测有效
  7. 雷达多普勒频率计算公式_手持式雷达电波流速仪应用
  8. java缓存Ehcache的使用
  9. golang读取pdf
  10. MongoDB 数据库简介、安装及使用