jps:查看本机的Java中进程信息。java
jstack:打印线程的栈信息,制做线程Dump。web
jmap:打印内存映射,制做堆Dump。浏览器
jstat:性能监控工具。服务器
jhat:内存分析工具。工具
jconsole:简易的可视化控制台。性能
jvisualvm:功能强大的控制台。spa
1.jps命令行
2.jstack线程
http://www.hollischuang.com/archives/110debug
3.jmap
4.jstat( http://www.hollischuang.com/archives/481 )
jstat位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收情况的监控。
5.jhat( http://www.hollischuang.com/archives/1047 )
jhat命令解析会Java堆dump并启动一个web服务器,而后就能够在浏览器中查看堆的dump文件了。
6.jinfo( http://www.hollischuang.com/archives/1094 )
jinfo能够输出java进程、core文件或远程debug服务器的配置信息。这些配置信息包括JAVA系统参数及命令行参数,若是进程运行在64位虚拟机上,须要指明-J-d64
参数,如:jinfo -J-d64 -sysprops pid
7.javap
javap能够查看java编译器为咱们生成的字节码。经过它,能够对照源代码和字节码,从而了解不少编译器内部的工做。
-help 帮助 -l 输出行和变量的表 -public 只输出public方法和域 -protected 只输出public和protected类和成员 -package 只输出包,public和protected类和成员,这是默认的 -p -private 输出全部类和成员 -s 输出内部类型签名 -c 输出分解后的代码,例如,类中每个方法内,包含java字节码的指令, -verbose 输出栈大小,方法参数的个数 -constants 输出静态final常量
平时通常用javap -c
比较多,该命令用于列出每一个方法所执行的JVM指令,并显示每一个方法的字节码的实际做用。能够经过字节码和源代码的对比,深刻分析java的编译原理,了解和解决各类Java原理级别的问题。2.javap -c