java基礎-jdk工具包
阿新 • • 發佈:2018-12-16
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,開啟客戶端
參考:
- JDK工具一覽表 https://blog.csdn.net/qq_27607965/article/details/79982519
- 使用JDB除錯Java程式 https://www.cnblogs.com/rocedu/p/6371262.html
- jvm 效能調優工具之 jcmd https://www.jianshu.com/p/388e35d8a09b
- jconsole工具使用 https://www.cnblogs.com/baihuitestsoftware/articles/6405580.html
- jvisualvm 工具使用 https://www.cnblogs.com/kongzhongqijing/articles/3625340.html