1. 程式人生 > >java基礎-jdk工具包

java基礎-jdk工具包

1. 標準工具

這些工具都是JDK提供的,通常都是長期支援的工具,JDK承諾這些工具比較好用。不同系統、不同版本之間可能會有差異,但是不會突然就有一個工具消失。

1.1 基礎包 (extcheck, jar, java, javac, javadoc, javap)

工具 簡述 常用命令
javac 編譯.java原始檔 javac hello.java
java 執行.class位元組碼或.jar檔案 java hello.class, java -jar my.jar
jar 建立和管理Jar檔案 jar -cvf my.jar .\*
javadoc API文件生成器 javadoc hello.java 生成html文件
javap 根據Java位元組碼反編譯為Java原始碼 javap hello.class
jdb Java偵錯程式(Java Debugger)

1.2 故障排查,分析,監控和管理 (jcmd, jconsole, jmc, jvisualvm)

工具 簡述 常用命令
jcmd 傳送診斷命令到JVM jcmd
jconsole 監控本地和遠端jvm的圖形工具 jconsole
jvisualvm 檢視java程式資訊 jvisualvm

jcmd命令

檢視程序 jcmd -l

命令:jcmd -l
描述:檢視 當前機器上所有的 jvm 程序資訊

jcmd 
jcmd -l
jps 

檢視效能統計 jcmd pid PerfCounter.print

命令:jcmd pid PerfCounter.print
描述:檢視指定程序的效能統計資訊。

列出當前執行的 java 程序可以執行的操作 jcmd PID help

命令:jcmd PID help

檢視具體命令的選項 jcmd 11772 help JFR.dump

如果想檢視命令的選項,比如想檢視 JFR.dump 命令選項,可以通過如下命令:
jcmd 11772 help JFR.dump

通知垃圾回收 jcmd PID GC.run

命令:jcmd PID GC.run
描述:對 JVM 執行 java.lang.System.gc()
告訴垃圾收集器打算進行垃圾收集,而垃圾收集器進不進行收集是不確定的。

強制垃圾回收 jcmd PID GC.run_finalization

命令:jcmd PID GC.run_finalization
描述: 對 JVM 執行 java.lang.System.runFinalization()
執行一次finalization操作,相當於執行java.lang.System.runFinalization()

---


jconsole工具使用

jconsole介紹

  • Jconsole是JDK自帶的監控工具,在JDK/bin目錄下可以找到。
  • 它用於連線正在執行的本地或者遠端的JVM,對執行在java應用程式的資源消耗和效能進行監控,並畫出大量的圖表,提供強大的視覺化介面。而且本身佔用的伺服器記憶體很小,甚至可以說幾乎不消耗。
  • 從命令列直接輸入jconsole,開啟客戶端

jvisualvm工具

jvisualvm介紹

  • VisualVM,能夠監控執行緒,記憶體情況,檢視方法的CPU時間和記憶體中的物件,已被GC的物件,反向檢視分配的堆疊(如100個String物件分別由哪幾個物件分配出來的).
  • 從命令列直接輸入jvisualvm,開啟客戶端

參考: