用法: javapjava
其中, 可能的選項包括:c++
-help –help -? 輸出此用法消息框架
-version 版本信息jvm
-v -verbose 輸出附加信息ide
-l 輸出行號和本地變量表工具
-public 僅顯示公共類和成員this
-protected 顯示受保護的/公共類和成員編碼
-package 顯示程序包/受保護的/公共類spa
和成員 (默認)命令行
-p -private 顯示全部類和成員
-c 對代碼進行反彙編
-s 輸出內部類型簽名
-sysinfo 顯示正在處理的類的
系統信息 (路徑, 大小, 日期, MD5 散列)
-constants 顯示最終常量
-classpath 指定查找用戶類文件的位置
-cp 指定查找用戶類文件的位置
-bootclasspath 覆蓋引導類文件的位置
用法: javac
其中, 可能的選項包括:
-g 生成全部調試信息
-g:none 不生成任何調試信息
-g:{lines,vars,source} 只生成某些調試信息
-nowarn 不生成任何警告
-verbose 輸出有關編譯器正在執行的操做的消息
-deprecation 輸出使用已過期的 API 的源位置
-classpath <路徑> 指定查找用戶類文件和註釋處理程序的位置
-cp <路徑> 指定查找用戶類文件和註釋處理程序的位置
-sourcepath <路徑> 指定查找輸入源文件的位置
-bootclasspath <路徑> 覆蓋引導類文件的位置
-extdirs <目錄> 覆蓋所安裝擴展的位置
-endorseddirs <目錄> 覆蓋簽名的標準路徑的位置
-proc:{none,only} 控制是否執行註釋處理和/或編譯。
-processor [,,…] 要運行的註釋處理程序的名稱; 繞過默認的搜索進程
-processorpath <路徑> 指定查找註釋處理程序的位置
-parameters 生成元數據以用於方法參數的反射
-d <目錄> 指定放置生成的類文件的位置
-s <目錄> 指定放置生成的源文件的位置
-h <目錄> 指定放置生成的本機標頭文件的位置
-implicit:{none,class} 指定是否爲隱式引用文件生成類文件
-encoding <編碼> 指定源文件使用的字符編碼
-source <發行版> 提供與指定發行版的源兼容性
-target <發行版> 生成特定 VM 版本的類文件
-profile <配置文件> 請確保使用的 API 在指定的配置文件中可用
-version 版本信息
-help 輸出標準選項的提要
-A關鍵字[=值] 傳遞給註釋處理程序的選項
-X 輸出非標準選項的提要
-J<標記> 直接將 <標記> 傳遞給運行時系統
-Werror 出現警告時終止編譯
@<文件名> 從文件讀取選項和文件名
用來查看基於HotSpot的JVM裏面中,全部具備訪問權限的Java進程的具體狀態, 包括進程ID,進程啓動的路徑及啓動參數等等,與unix上的ps相似,只不過jps是用來顯示java進程,能夠把jps理解爲ps的一個子集。
使用jps時,若是沒有指定hostid,它只會顯示本地環境中全部的Java進程;若是指定了hostid,它就會顯示指定hostid上面的java進程,不過這須要遠程服務上開啓了jstatd服務。
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:<port>]
-q:忽略輸出的類名、Jar名以及傳遞給main方法的參數,只輸出pid。
-m:輸出傳遞給main方法的參數,若是是內嵌的JVM則輸出爲null。
-l:輸出徹底的包名,應用主類名,jar的徹底路徑名
-v:輸出傳給jvm的參數
-V:輸出經過標記的文件傳遞給JVM的參數(.hotspotrc文件,或者是經過參數-XX:Flags=指定的文件)。
-J 用於傳遞jvm選項到由javac調用的java加載器中,例如,「-J-Xms48m」將把啓動內存設置爲48M,使用-J選項能夠很是方便的向基於Java的開發的底層虛擬機應用程序傳遞參數。
jstack用於打印出給定的java進程ID或core file或遠程調試服務的Java堆棧信息,若是是在64位機器上,須要指定選項」-J-d64」,Windows的jstack使用方式只支持如下的這種方式:
jstack [-l] pid
若是java程序崩潰生成core文件,jstack工具能夠用來得到core文件的java stack和native stack的信息,從而能夠輕鬆地知道java程序是如何崩潰和在程序何處發生問題。另外,jstack工具還能夠附屬到正在運行的java程序中,看到當時運行的java程序的java stack和native stack的信息, 若是如今運行的java程序呈現hung的狀態,jstack是很是有用的。
Usage:
jstack [-l] <pid>
(to connect to running process)
jstack -F [-m] [-l] <pid>
(to connect to a hung process)
jstack [-m] [-l] <executable> <core>
(to connect to a core file)
jstack [-m] [-l] [server_id@]<remote server IP or hostname>
(to connect to a remote debug server)
Options:
-F to force a thread dump. Use when jstack <pid> does not respond (process is hung)(當’jstack [-l] pid’沒有相應的時候強制打印棧信息)
-m to print both java and native frames (mixed mode)(打印java和native c/c++框架的全部棧信息.)
-l long listing. Prints additional information about locks (長列表. 打印關於鎖的附加信息,例如屬於java.util.concurrent的ownable synchronizers列表.)
-h or -help to print this help message (打印幫助信息)
Jstat 用於監控基於HotSpot的JVM,對其堆的使用狀況進行實時的命令行的統計,使用jstat咱們能夠對指定的JVM作以下監控:
jstat -help
Usage:
jstat -help|-options
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
Definitions:
>
Virtual Machine Identifier. A vmid takes
the following form:
[@[:]]
Where is the local vm identifier for the target
Java virtual machine, typically a process id; is
the name of the host running the target Java virtual machine;
and is the port number for the rmiregistry on the
target host. See the jvmstat documentation for a more complete
description of the Virtual Machine Identifier.
Number of samples between header lines.
Sampling interval. The following forms are allowed:
[「ms」|」s」]
Where is an integer and the suffix specifies the units as
milliseconds(「ms」) or seconds(「s」). The default units are 「ms」.
Number of samples to take before terminating.
-J Pass directly to the runtime system.