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 内存分析和线程分析

相关推荐
那我掉的头发算什么11 分钟前
【面试八股】一篇文章讲清楚JVM面试常考
jvm·面试·职场和发展·java虚拟机
m0_631529821 小时前
CSS如何利用CSS变量进行渐变色管理_提升渐变配置的灵活性
jvm·数据库·python
2301_818008441 小时前
数据库模型设计实战:如何正向工程从模型建表_规范化项目开发流程
jvm·数据库·python
Run_Teenage1 小时前
Linux:线程互斥,线程锁
运维·开发语言·jvm
2401_846339562 小时前
Vue 3 中集成 Three.js 场景的完整实现指南
jvm·数据库·python
Byron__2 小时前
Java JVM核心知识点复习笔记
java·jvm·笔记
2301_775639892 小时前
Golang怎么写TODO待办应用_Golang TODO应用教程【深入】
jvm·数据库·python
iuvtsrt3 小时前
WordPress 分页失效的常见原因与正确实现方案
jvm·数据库·python
2401_871492853 小时前
C#怎么使用泛型 C#泛型类泛型方法和泛型约束的定义和使用方法【语法】
jvm·数据库·python
2301_787312434 小时前
Vue.js中Patch过程处理Teleport组件挂载位置的特殊逻辑
jvm·数据库·python