JDK 在给提供基础的 java 依赖库的同时,也在 bin 目录下提供了一系列的小工具,除了我们常用的 java 和 javac 以外,还包含许多对 JVM 进行性能监控和故障诊断的工具。这些工具能够为我们日常程序开发和问题排查提供极大的便利,主要包含以下几种:
| 工具 | 描述 |
|---|---|
| jps | 显示系统运行中的 JVM 进程列表 |
| jstat | 用于收集 JVM 各方面的运行数据(类加载、GC、JIT 编译等) |
| jinfo | 查看和编辑 JVM 配置信息(JVM 启动参数、系统环境变量等) |
| jmap | 生成 JVM 的堆转储快照(heapdump 文件) |
| jhat | 用于分析 jmp 命令生成的 heapdump 文件,它会建立一个 HTTP/HTML 服务器,让用户可以在浏览器上查看分析结果 |
| jstack | 生成 JVM 的线程转储快照(通常所说的 threaddump 文件或 javacore 文件),用于判断是否存在死锁、死循环,以及阻塞等情况 |
| jconsole | 可视化 java 监视与管理控制台,基于 JMX |
| jvisualvm | 多合一故障处理工具,jconsole 的增强版,自 JDK 9 开始不再随 JDK 默认提供,需要独立下载,地址:http://visualvm.github.io/ |