java 自帶的工具


前輩說,java的基本功的好壞,一個方面要看是否能熟練使用jdk bin下的工具使用情況。

自己整理一下使用的工具。

■ javac

一個編譯java的工具,進入java所在文件的路徑后,javac XXX.java

■ java

java XXX 執行生成的字節碼文件。

 ■ jar 

打jar包用的,現在一般都用eclipse等這種工具,直接打jar包

 ■ javadoc

生成java的doc文檔。現在一般都用eclipse等這種工具,直接可以生成,不用單獨去敲這個命令。

 ■ jps

它是java process 的縮寫,就是查看當前java的啟動的進程。注意,顯示的是java啟動的進程,並非操作系統的進程。

使用方法,在控制台中直接 jps 就行。

p.s.我在實際操作中遇到個問題,這邊運行着java程序,另一邊敲下了jps,但是卻什么也沒有。這是為什么呢?后來我查了資料找到了原因。在 Win32 系統上,每個 java 進程啟動之后都在 %TMP%\hsperfdata_user ( user 為當前登錄用戶名)目錄下建立一個以該 java 進程 pid 為文件名的文件,用以記錄該 java 進程的一些信息。而 jconsole 和 jps 正是利用這些文件來獲取當前系統中 java 進程的信息的。如果該目錄位於 FAT 文件系統下,或者位於 NTFS 文件系統下,但當前用戶對%TMP%\hsperfdata_user目錄的訪問權限不足,無法創建和寫入該文件,jconsole 和 jps 就抓瞎了。

解決辦法:

 在啟動java程序的時候添加一個參數即可:
    -XX:+PerfBypassFileSystemCheck

 ■ jconsole

它是java內置的性能分析器。你可以輕松的使用它,來監控java程序性能和跟蹤java中的代碼。

在使用Eclipse的時候,為了使用jconsole,需要配置一些參數,程序的啟動參數如下:
-Djava.rmi.server.hostname=XXX.XXX.XXX.XXX      ip地址
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8011      端口號,隨便
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

之后,啟動程序。接下來,cmd命令行中,調用jconsole,接下來,輸入ip地址:端口號,點擊連接就可以了。

在這里,推薦一篇博客,里面對jconsole有更詳細的介紹,講解的比我好,我就不在這里多說了。

http://jiajun.iteye.com/blog/810150

 

JVisualVM

它是集成了多個jdk命令的免費可視化工具,它可以被單獨下載,但是jdk的bin下,已經安裝好了。可以直接使用。

它里面有豐富的插件,要想使用JConsole等一些功能,需要下載插件。各版本最新的下載中心:https://visualvm.github.io/pluginscenters.html

設置下載中心的方法:Tools -> Plugins -> Settings添加最新的插件中心。

 推薦一個博客:http://jiajun.iteye.com/blog/1180230

 

JMAP

生成java 對內存統計數據的工具。假設,我們在lunix下,無法使用圖形界面分析,這時使用jmap將堆內存等統計數據導入后,再有其他可視化工具進行分析。

-dump:[live,]format=b,file=<filename>

e.g. jmap -dump:format=b,file=output.bin

 

 

 

 其它的工具,未完待續。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM