從事Java開發(fā)有段時(shí)間了,經(jīng)常為Java拋內(nèi)存溢出和系統(tǒng)時(shí)常的罷工而煩惱。有時(shí)你也許有這樣的經(jīng)歷為了,找尋系統(tǒng)的漏洞,幾乎把所有的代碼都翻了一遍,也許這比你原來寫Code還花費(fèi)精力和時(shí)間;有時(shí)你也許在夢(mèng)想有個(gè)工具能時(shí)時(shí)監(jiān)測(cè)系統(tǒng),提供漏洞和bug的蛛絲馬跡(有點(diǎn)象打廣告哦,不過我覺得我這個(gè)我非常喜愛的工具-JProfiler打打廣告,我非常樂意)。如果找bug就象看病一樣,那么Jprofiler就是那臺(tái)可以為提供診斷依據(jù)和建議的X光掃描器,不信你用用就知道了。
1 JProfiler是做什么的哦?
JProfiler工具主要用于檢查和跟蹤系統(tǒng)(限于Java開發(fā)的)的性能。JProfiler可以通過時(shí)時(shí)的監(jiān)控系統(tǒng)的內(nèi)存使用情況,隨時(shí)監(jiān)視垃圾回收,線程運(yùn)行狀況等手段,從而很好的監(jiān)視JVM運(yùn)行情況及其性能。
2 如何獲取JProfiler
你可以試試下載JProfiler的評(píng)估版(有十天的使用時(shí)間),目前的最新版本為2.4版本
你可以在在這兒獲取:http://www.ej-technologies.com/products/jprofiler/overview.html
你需要注冊(cè),然后JProfiler公司會(huì)通過Email方式發(fā)送一個(gè)key給你,在第一次使用時(shí)需要輸入這個(gè)key。
3 如何監(jiān)視你的第一個(gè)系統(tǒng)
首先請(qǐng)打開你的Jprofiler。

這時(shí)展現(xiàn)在你眼前的第一個(gè)頁(yè)面,如上圖。第一個(gè)頁(yè)面就是你原來將來過的監(jiān)視Project(就當(dāng)成一個(gè)Project好了)。第二個(gè)頁(yè)面是需要?jiǎng)?chuàng)建新的監(jiān)視Project。

這時(shí)你就可以點(diǎn)擊按鈕"New session"按鈕了。下一個(gè)頁(yè)面將會(huì)出現(xiàn)在你的眼簾之中。

第一個(gè)就是Session名字了,隨便取(不修改也行),
第二個(gè)Session type就是監(jiān)視類型了,我們就選擇監(jiān)視本地的系統(tǒng)吧。
然后選擇Java VM。在安裝Jprofiler時(shí),搜索出系統(tǒng)已經(jīng)安裝了的jvm,選擇一個(gè)好了。
Working directory:這個(gè)目錄啟動(dòng)系統(tǒng)的運(yùn)行目錄,方便于你找那兒些配置文件,以及尋找你classpath中配置的jar文件VM arguments參數(shù),如果你想配置JVM的系統(tǒng)參數(shù)請(qǐng)?jiān)诖伺渲茫热缑磁渲脙?nèi)存的最大,最小值,配置方式和常用配置方式類似。
Main class or executable JAR:選擇可以直接運(yùn)行的jar文件或者填上要運(yùn)行主Class。(如果你的jar文件中META-INF/MANIFEST.MF 包含有Main-Class:就可以直接運(yùn)行了)
Arguments就是main(String[] args)中要傳遞的參數(shù)
然后就該Additional java file path中加入所有需要的classpath或者jar文件
這些配置搞定后就可以點(diǎn)擊ok按鈕了,在評(píng)估版本中將會(huì)彈出一個(gè)對(duì)話框(就是通知你評(píng)估版本還有多長(zhǎng)時(shí)間過期),不管那么多點(diǎn)擊按鈕"Evaluate",然后繼續(xù)點(diǎn)擊按鈕"ok"好了,我們可以看看我們的勞動(dòng)成果了,倒杯Coffee,享受那濃濃Coffee情。
這是內(nèi)存使用情況

這是每個(gè)class,甚至每個(gè)方法的內(nèi)存使用比率

這是線程使用情況
