java基礎-jdk工具包

1. 標準工具

這些工具都是JDK提供的,一般都是長期支持的工具,JDK承諾這些工具比較好用。不一樣系統、不一樣版本之間可能會有差別,可是不會忽然就有一個工具消失。html

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 進程信息java

jcmd 
jcmd -l
jps

查看性能統計 jcmd pid PerfCounter.print

命令:jcmd pid PerfCounter.print
描述:查看指定進程的性能統計信息。服務器

列出當前運行的 java 進程能夠執行的操做 jcmd PID help

命令:jcmd PID helpjvm

查看具體命令的選項 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()ui

---


jconsole工具使用

jconsole介紹

  • Jconsole是JDK自帶的監控工具,在JDK/bin目錄下能夠找到。
  • 它用於鏈接正在運行的本地或者遠程的JVM,對運行在java應用程序的資源消耗和性能進行監控,並畫出大量的圖表,提供強大的可視化界面。並且自己佔用的服務器內存很小,甚至能夠說幾乎不消耗。
  • 從命令行直接輸入jconsole,打開客戶端

jvisualvm工具

jvisualvm介紹

  • VisualVM,可以監控線程,內存狀況,查看方法的CPU時間和內存中的對象,已被GC的對象,反向查看分配的堆棧(如100個String對象分別由哪幾個對象分配出來的).
  • 從命令行直接輸入jvisualvm,打開客戶端

參考:

相關文章
相關標籤/搜索