用了这么多年的JDK,从来都没有想过要查看一下JDK包下都有什么!真的是有点失败奥!
常见几个基础工具
jar:创建和管理JAR文件
java:Java运行工具,用于运行Class文件或JAR文件
javac:用于Java编译语言的编译器
javadoc:Java的API文档生成器
jps:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程
jstat:JVM Statistics Monitoring Tool,用于收集Hotspot虚拟机各方面的运行数据
jinfo:显示虚拟机配置信息
jmap:生成虚拟机的内存转储快照 heapdump文件
jstack:显示虚拟机的线程快照
jconsole.exe
JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。可以使用 JConsole/ VisualVM 来监控 Java 应用程序性能和跟踪 Java 中的代码。
启动方法
1.配置了环境变量的情况下,直接运行jconsole即可
2.找到JDK安装路径下的bin,直接双击运行jconsole.exe即可。
启动之后,得到如下图所示的窗口,可选择本地进程,双击选中其中一个进程便可以进入主界面开始监控,也可以选择远程进程对远程虚拟机进行监控。
主要选项有概览、内存、线程、类、VM概要 、MBean
六个标签页;
- 概览:
显示的是整个虚拟机主要运行数据的概览,包括“堆内存使用情况”、“线程”、“类”、“CPU使用情况”四项信息的信息汇总曲线图
- 内存监控
相当于可视化的
jstat
命令,用于监控被收集器管理的虚拟机内存(JAVA堆和方法区)的变化趋势
- 线程
相当于可视化的
jstack
命令,遇到线程停顿的时候可以使用这个标签的功能进行分析
线程长时间停顿的主要原因:等待外部资源(数据库连接、网络资源、设备资源)、死循环、锁等
在深入理解Java虚拟机关于虚拟机性能监控、故障处理工具一章有详细描述。
笔者会持续更新的。。。。。