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

相关推荐
程序员卷卷狗1 天前
JVM 调优实战:从线上问题复盘到精细化内存治理
java·开发语言·jvm
Sincerelyplz1 天前
【JDK新特性】分代ZGC到底做了哪些优化?
java·jvm·后端
初学小白...2 天前
线程同步机制及三大不安全案例
java·开发语言·jvm
凤山老林2 天前
还在用JDK8?JDK8升级JDK11:一次价值千万的升级指南
java·开发语言·jvm·spring boot·后端·jdk
2501_938790072 天前
详解 JVM 中的对象创建过程:类加载检查、内存分配、初始化的完整流程
jvm
宸津-代码粉碎机2 天前
Java内部类内存泄露深度解析:原理、场景与根治方案(附GC引用链分析)
java·开发语言·jvm·人工智能·python
杨筱毅2 天前
【底层机制】Android GC -- 为什么要有GC?GC的核心原理?理解GC的意义
android·jvm·gc
東雪木3 天前
Java基础语言进阶学习——1,JVM内存模型(堆、栈、方法区)
java·jvm·学习
小满、3 天前
JVM 执行引擎:字节码是如何被执行的
jvm·字节码·jvm执行引擎
无敌最俊朗@3 天前
SQLite 约束 (Constraints) 面试核心知识点
java·开发语言·jvm