JDK5.0內(nèi)置工具淺析
JDK5.0內(nèi)置工具有哪些呢?其中加入了jstack, jconsole, jinfo, jmap, jdb, jstat, jps, 下面對(duì)這些工具做簡單介紹:
jstack:如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發(fā)生問題。另外,jstack工具還可以附屬到正在運(yùn)行的java程序中,看到當(dāng)時(shí)運(yùn)行的java程序的java stack和native stack的信息, 如果現(xiàn)在運(yùn)行的java程序呈現(xiàn)hung的狀態(tài),jstack是非常有用的。目前只有在Solaris和Linux的JDK版本里面才有。
jconsole:jconsole是基于Java Management Extensions (JMX)的實(shí)時(shí)圖形化監(jiān)測工具,這個(gè)工具利用了內(nèi)建到JVM里面的JMX指令來提供實(shí)時(shí)的性能和資源的監(jiān)控,包括了Java程序的內(nèi)存使用,Heap size, 線程的狀態(tài),類的分配狀態(tài)和空間使用等等。
jinfo:jinfo可以從core文件里面知道崩潰的Java應(yīng)用程序的配置信息,目前只有在Solaris和Linux的JDK版本里面才有。
jmap:jmap 可以從core文件或進(jìn)程中獲得內(nèi)存的具體匹配情況,包括Heap size, Perm size等等,目前只有在Solaris和Linux的JDK版本里面才有。
jdb:jdb 用來對(duì)core文件和正在運(yùn)行的Java進(jìn)程進(jìn)行實(shí)時(shí)地調(diào)試,里面包含了豐富的命令幫助您進(jìn)行調(diào)試,它的功能和Sun studio里面所帶的dbx非常相似,但 jdb是專門用來針對(duì)Java應(yīng)用程序的。
jstat:jstat利用了JVM內(nèi)建的指令對(duì)Java應(yīng)用程序的資源和性能進(jìn)行實(shí)時(shí)的命令行的監(jiān)控,包括了對(duì)Heap size和垃圾回收狀況的監(jiān)控等等。
jps:jps是用來查看JVM里面所有進(jìn)程的具體狀態(tài), 包括進(jìn)程ID,進(jìn)程啟動(dòng)的路徑等等。
另外,還有些其他附帶的工具在這里沒有列出,比如Heap Analysis Tool, kill方法等等,這些在JDK5.0之前就有,同樣也是非常有用的性能調(diào)優(yōu)工具,大家可以參照相應(yīng)的文檔資料來學(xué)習(xí)。
JDK5.0內(nèi)置工具就介紹到這里,其實(shí)很多都是之前版本的JDK已經(jīng)涵蓋的,希望對(duì)你理解JDK5.0內(nèi)置工具有所幫助。
【編輯推薦】