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