1. 程式人生 > >JDK自帶的命令列工具有哪些?

JDK自帶的命令列工具有哪些?

在JDK的bin目錄下包含了很多功能強大的命令列工具,它們的主要功能程式碼都是在jdk/lib/tools.jar中實現的。下面一一介紹這些命令列工具。

jps

jps是JVM Process Status Tool的簡稱,用於顯示指定系統內所有的HotSpot虛擬機器程序。常用的命令有:

jps -l //用於輸出主類的全名,如果執行的是jar包,則輸出jar路徑;

jps -v //用於輸出虛擬機器啟動時的JVM引數。

jstat

jstat是JVM Statistics Monitoring Tool的簡稱,用於顯示本地或遠端虛擬機器程序中的類載入、記憶體、垃圾回收、JIT編譯等執行時資料。

jinfo

jinfo是Configuration Info for Java的簡稱,用於顯示虛擬機器各項引數。常用的命令有:

jinfo -flag pid //用於檢視未被顯示指定的引數的預設值;

jinfo -syspros pid //用於輸出虛擬機器程序的System.getProperties()的內容。

jmap

jmap是Memory Map for Java的簡稱,用於生成堆轉儲快照檔案、查詢finalize執行佇列、Java堆和永久代的詳細資訊,需要配合具體的選項引數使用。

jhat

jhat是JVM Heap Dump Browser的簡稱,用於分析生成的堆轉儲快照檔案,並且會建立web服務,提供檢視分析結果。注意,這個命令一定不要在生產機器上執行,因為它的分析過程很消耗機器資源。

jstack

jstack是Stack Trace for Java的簡稱,用於顯示當前虛擬機器內每一條執行緒正在執行的方法堆疊集合,可用於分析執行緒長時間卡頓的原因。
這裡寫圖片描述