JDK5.0裡面加入了jstack, jconsole, jinfo, jmap, jdb, jstat, jps, 下面對這些工具做簡單介紹:jstack -- 如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發生問題。另外,jstack工具還可以附屬到正在運行的java程序中,看到當時運行的java程序的java stack和native stack的信息, 如果現在運行的java程序呈現hung的狀態,jstack是非常有用的。目前只有在Solaris和Linux的JDK版本裡面才有。
jconsole – jconsole是基於Java Management Extensions (JMX)的實時圖形化監測工具,這個工具利用了內建到JVM裡面的JMX指令來提供實時的性能和資源的監控,包括了Java程序的內存使用,Heap size, 線程的狀態,類的分配狀態和空間使用等等。
jinfo – jinfo可以從core文件裡面知道崩潰的Java應用程序的配置信息,目前只有在Solaris和Linux的JDK版本裡面才有。
jmap – jmap 可以從core文件或進程中獲得內存的具體匹配情況,包括Heap size, Perm size等等,目前只有在Solaris和Linux的JDK版本裡面才有。
jdb – jdb 用來對core文件和正在運行的Java進程進行實時地調試,裡面包含了豐富的命令幫助您進行調試,它的功能和Sun studio裡面所帶的dbx非常相似,但 jdb是專門用來針對Java應用程序的。
jstat – jstat利用了JVM內建的指令對Java應用程序的資源和性能進行實時的命令行的監控,包括了對Heap size和垃圾回收狀況的監控等等。
jps – jps是用來查看JVM裡面所有進程的具體狀態, 包括進程ID,進程啟動的路徑等等。
另外,還有些其他附帶的工具在這裡沒有列出,比如Heap Analysis Tool, kill -3 方法等等,這些在JDK5.0之前就有,同樣也是非常有用的性能調優工具,大家可以參照相應的文檔資料來學習。