反汇编工具(Jdk内置的常用工具使用大全)
jdk的bin目录下面有许多命令,可以很方便地对虚拟机进行监控或者故障排查等
bin目录下的命令本质上都是Tools.jar的一层封装,首先对比一下常用的命令功能
bin目录命令名称
功能描述
apt
注解处理工具(Annotation Processing Tool),主要用于注解处理。
extcheck
扩展检测工具,主要用于检测指定jar文件与当前已安装的Java SDK扩展之间是否存在版本冲突。
idlj
IDL转Java编译器(IDL-to-Java Compiler),用于为指定的IDL文件生成Java绑定。IDL意即接口定义语言(Interface Definition Language)。
jar
jar文件管理工具,主要用于打包压缩、解压jar文件。
java
Java运行工具,用于运行.class字节码文件或.jar文件
javac
Java编译工具(Java Compiler),用于编译Java源代码文件。
javadoc
Java文档工具,主要用于根据Java源代码中的注释信息生成HTML格式的API帮助文档
javap
Java反编译工具,主要用于根据Java字节码文件反汇编为Java源代码文件。
java-rmi
Java远程方法调用(Java Remote Method Invocation)工具,主要用于在客户机上调用远程服务器上的对象。
jcmd
Java 命令行(Java Command),用于向正在运行的JVM发送诊断命令请求。
jconsole
图形化用户界面的监测工具,主要用于监测并显示运行于Java平台上的应用程序的性能和资源占用等信息。
jdb
Java调试工具(Java Debugger),主要用于对Java应用进行断点调试。
jhat
Java堆分析工具(Java Heap Analysis Tool),用于分析Java堆内存中的对象信息。
jinfo
Java配置信息工具(Java Configuration Information),用于打印指定Java进程、核心文件或远程调试服务器的配置信息。
jmap
Java内存映射工具(Java Memory Map),主要用于打印指定Java进程、核心文件或远程调试服务器的共享对象内存映射或堆内存细节
jmc
Java任务控制工具(Java Mission Control),主要用于HotSpot JVM的生产时间监测、分析、诊断。
jps
JVM进程状态工具(JVM Process Status Tool),用于显示目标系统上的HotSpot JVM的Java进程信息。
jrunscript
Java命令行脚本外壳工具(command line script shell),主要用于解释执行javascript、groovy、ruby等脚本语言。
jsadebugd
Java可用性代理调试守护进程(Java Serviceability Agent Debug Daemon),主要用于附加到指定的Java进程、核心文件,或充当一个调试服务器。
jstack
Java堆栈跟踪工具,主要用于打印指定Java进程、核心文件或远程调试服务器的Java线程的堆栈跟踪信息。
jstat
JVM统计监测工具(JVM Statistics Monitoring Tool),主要用于监测并显示JVM的性能统计信息。
jstatd
jstatd(VM jstatd Daemon)工具是一个RMI服务器应用,用于监测HotSpot JVM的创建和终止,并提供一个接口,允许远程监测工具附加到运行于本地主机的JVM上。
jvisualvm
JVM监测、故障排除、分析工具,主要以图形化界面的方式提供运行于指定虚拟机的Java应用程序的详细信息。
schemagen
XML schema生成器,用于java类生成XML schema文件。
xjc
主要用于根据XML schema文件生成对应的Java类。
需要在项目启动的时候添加对应参数:
# 远程服务器ip,对应的端口,是否使用SSL和权限验证等-Djava.rmi.server.hostname=192.168.120.30 -Dcom.sun.management.jmxremote.port=9528 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false新建JMX连接,
监控效果如图,还可以查jvm参数信息,线程情况等:
如果本文对你有所帮助,欢迎点赞转发,也欢迎大家说说自己在学习的时候自己的一些心得,方便大家一起学习共同成长!关注“java架构大仙”阅读更多技术干货文章。