深入理解java虚拟机学习笔记
一、JDK的命令行工具
1、jps:虚拟机进程状况工具
作用:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及查看本地虚拟机唯一id。
参数:
m:运行时传入主类的参数;
v:虚拟机参数;
l:运行的主类全名或jar包名称;
2、jstat:虚拟机统计信息监视工具
作用:用于监视虚拟机各种运行状态信息的命令行工具。
可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等信息。
官方文档:http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html
3、jinfo:java配置信息工具
作用:实时查看和调整虚拟机各项参数
4、jmap:java内存映像工具
作用:用于生成堆转储快照。
5、jhat:虚拟机堆转储快照分析工具
jhat与jmap搭配使用,用来分析jmap生成的堆转储快照。但是一般不会使用。
6、jstack:java堆栈跟踪工具
作用:用于生成虚拟机当前时刻的线程快照。
线程快照就是当前虚拟机内每条线程正在执行的方法堆栈的集合。
生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。
二、JDK的可视化工具
1、JConsole:java监视与管理控制台
可以进行内存监控、线程监控、查看死锁。
2、VisualVM:多合一故障处理工具
目前为止功能最强大的运行监视和故障处理程序。
VisualVM下载地址:https://visualvm.github.io/download.html