JVM(5):虚拟机性能分析和故障解决工具概述

1 工具概述

作为一个java程序员,最基本的要求就是用java语言编写程序,并能够在jvm虚拟机上正常运行,但是在实际开发过程中,我们所有的程序由于各种各样的原因,并不是总能够正常运行,经常会发生故障或者程序的性能低下等问题,此时我们就需要借助于一些jdk提供的工具来定位问题、分析问题并给出合适的解决方案。

jdk给程序员提供的辅助工具都存放在bin目录下,见下图:

jdk提供的这些工具都是使用java语言编写的,他们都来自于lib/tools.jar,解压tools.jar,然后找到它下面sun/tools,截图如下,我们很清楚的能够看到这些目录的名称和前面看到的工具的名称一致。

需要特别注意说明的是:接下来我们讲解的工具全部基于windows平台下的JDK8版本,如果JDK版本,操心系统不同,工具所支持的功能可能会有较大差别,大部分工具在JDK5中就已经提供了,但是为了避免运行环境带来的差异和兼容性问题,建议使用JDK8来验证我们讲解的内容。

2 工具分类

2.1 命令行工具

​ jps;

​ jstat;

​ jinfo;

​ jmap;

​ jhat;

​ jstack;

2.2 可视化工具

​ jconsole;

​ VisualVM;

2.3 内存分析和线程分析

相关推荐
顺风尿一寸2 小时前
JVM 字段布局揭秘:Best‑Fit 算法如何为每个字段精准分配偏移量
jvm
小bo波4 小时前
Java反射机制——运行时"透视"类的秘密
java·jvm·反射·源码分析·动态代理·进阶·spring底层·框架原理
程序猿阿伟4 小时前
《拆解Chrome存储架构:浏览痕迹的残留死角与清除路径》
jvm·chrome·架构
于指尖飞舞5 小时前
java后端面试题(jvm极简)
java·开发语言·jvm
鹅城剑仙6 小时前
JVM 内存模型与 GC 调优实战指南
jvm
Javatutouhouduan6 小时前
2026年Java面试核心讲(终极版)全网首次开源!
java·jvm·java多线程·java面试·后端开发·java程序员·java八股文
程序员二叉16 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
小马爱打代码20 小时前
面试题:内存模型与垃圾回收深度解析
jvm
cfm_29141 天前
JVM底层源码深度解析:读写屏障(Read/Write Barrier)
jvm
wuminyu1 天前
Java世界中StringTable源码剖析
java·linux·c语言·jvm·c++