JVM在运行过程中,我们可以利用各种工具对JVM进行分析,这是性能调优的利器。可以通过各种工具了解在系统运行过程中,在JVM底层到底发生了什么。JVM分析工具一般分为两种,一种是命令行工具,一种是图形界面工具。
JVM分析工具
JDK自带的命令行工具都在jdk的bin目录下(C:Program FilesJavajdk1.8.0_291in)。内置的命令行工具可以帮助我们系统运行过程中JVM内部的运行过程。主要的工具有如下
- java:java应用的启动程序,如java -jar xx.jar
- javac:jdk内置的编译工具,将java源文件编译为.class文件。如javac xx.java
- javap:反编译class文件工具,如javap -verbose xx.class
- javadoc:根据java代码和标准注释,自动生成相关的API说明文档
- javah:JNI开发时,根据java代码生成需要的.h文件
- extcheck:检查某个jar文件和运行时扩展jar有没有版本冲突,一般使用比较少
- jdb:Java Debugger,可以调试本地和远端程序,属于JPDA中的一个demo实现,供其他调试器参考。开始很少使用
- jar:打包工具,可以将文件和目录打包成.jar文件,jar文件从本质上来讲就是zip文件,只是后缀不同。
- keytool:安全证书和密钥的管理工具
- jarsigner:JAR文件签名和验证工具
- policytool:是一款图形界面工具,管理本机的Java安全策略
- jps/jino:查看运行中的java进程
- jstat:查看JVM内部gc相关信息
- jmap:查看线程信息 <