轉(zhuǎn)帖|對(duì)比評(píng)測(cè)|編輯:龔雪|2014-07-11 09:32:16.000|閱讀 630 次
概述:在這篇文章中,我會(huì)帶著大家一起看一下9個(gè)可以幫助我們優(yōu)化Java性能的工具。有一些我們已經(jīng)在IDR Solutions中使用了,而另外一些有可能在個(gè)人項(xiàng)目中使用。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在這篇文章中,我會(huì)帶著大家一起看一下9個(gè)可以幫助我們優(yōu)化Java性能的工具。有一些我們已經(jīng)在IDR Solutions中使用了,而另外一些有可能在個(gè)人項(xiàng)目中使用。
NetBeans Profiler
是一個(gè)NetBeans IDE插件,主要為NetBeans IDE提供性能分析相關(guān)的功。NetBeans IDE是一個(gè)開源的集成開發(fā)環(huán)境。它很好地支持所有Java應(yīng)用類型(包括Java SE、JavaFX、Java ME、Web、EJB和移動(dòng)應(yīng)用)的開發(fā)。
這個(gè)性能分析器包含了諸如CPU、內(nèi)存和線程性能分析功能,并且提供了一些用于基本JVM監(jiān)控的附加工具和功能。對(duì)于需要解決內(nèi)存和性能相關(guān)問題的開發(fā)者非常有用。
JProfiler
JProfiler 在 中有提及。同樣,它也是一個(gè)很好的Java性能分析工具。JProfiler集CPU、內(nèi)存和線程性能分析于一體,可以用于分析性能瓶頸、內(nèi)存泄漏、CPU負(fù)載和解決線程相關(guān)的問題,并且支持本地性能分析(分析與JProfiler軟件安裝在同一臺(tái)機(jī)的應(yīng)用)和遠(yuǎn)程性能分析(它可以分析遠(yuǎn)程沒有安裝JProfiler機(jī)器上的應(yīng)用),這一點(diǎn)對(duì)開發(fā)人員非常有用。
JProfiler由ej-technologies GmbH開發(fā)的商業(yè)授權(quán)的Java性能分析工具,主要為Java EE和Java SE應(yīng)用所設(shè)計(jì)。
GC Viewer
可以(從 主頁 和 Github )免費(fèi)獲取。GC Viewer是一個(gè)開源工具,可以對(duì)vmflags -verboase:gc和-Xloggc:等Java VM選項(xiàng)產(chǎn)生的數(shù)據(jù)進(jìn)行可視化分析。GC Viewer可以用于計(jì)算GC(垃圾回收)相關(guān)的性能數(shù)據(jù)記錄,包括吞吐、累積暫停、最長時(shí)間的暫停等等。當(dāng)你想要通過改變生成大小和設(shè)置初始堆大小來調(diào)整某個(gè)特定應(yīng)用的GC時(shí),它尤其有用。
GC Viewer是一個(gè)開源工具,由Tagtraum Industries Incorporated開發(fā)。這是一個(gè)很小的初創(chuàng)軟件咨詢公司,位于羅利、北卡羅萊納州,由成立于1999年的非盈利項(xiàng)目Tagtraum Industries在2004年創(chuàng)立。
VisualVM
是一個(gè)由NetBeans平臺(tái)派生的工具,遵循模塊化的架構(gòu)思想。這意味著可以通過插件方便的進(jìn)行擴(kuò)展。
Visual VM允許你獲取Java程序的詳細(xì)信息,只要它在一個(gè)Java虛擬機(jī)(JVM)上運(yùn)行即可。生成的數(shù)據(jù)可以由JDK工具生成和讀取,多個(gè)Java程序的所有數(shù)據(jù)和信息都可以很方便地進(jìn)行查看,包括本地和遠(yuǎn)程的運(yùn)行程序。同時(shí)可以保存JVM軟件的數(shù)據(jù)快照,把數(shù)據(jù)保存在本地,方便以后進(jìn)行查看或者和其他人一起分享。
Visual VM可以進(jìn)行CPU性能分析、內(nèi)存性能分析,進(jìn)行GC(譯者注:可以進(jìn)行強(qiáng)制調(diào)用GC)、保存快照等。
Patty *Beta
是一個(gè)開源項(xiàng)目,可以從 下載。它致力于為Java 1.5.0和更高版本的虛擬機(jī)提供性能分析工具。與其他性能分析工具不同之處在于,它專注性能分析,并且允許用戶在運(yùn)行時(shí)開啟和關(guān)閉性能分析功能。
目前Patty正處于beta版階段,但隨著更多強(qiáng)大的功能如方法執(zhí)行、代碼覆蓋、線程競爭(Thread Contention)分析的加入,Patty可以用于(內(nèi)存、CPU等)性能調(diào)優(yōu),并且可以將信息通過TCP/IP Socket發(fā)送到其他電腦上。Patty有著易用的GUI,可以用于分析堆。還可以在Java編譯流程中的準(zhǔn)備階段,對(duì)應(yīng)用程序運(yùn)行時(shí)對(duì)class進(jìn)行監(jiān)測(cè)(instrument)和取消監(jiān)測(cè)(de-instrument)。
JRockit——任務(wù)管理
是一個(gè)原由Appeal Virtual Machines開發(fā)的專有Java虛擬機(jī)。2002年由BEA Systems收購,之后從Sum Microsystems處轉(zhuǎn)到Oracle。
Oracle的JRockit是一套完整的Java SE解決方案,包含了一個(gè)高性能JVM、性能分析、監(jiān)控和排錯(cuò)工具??捎糜陬A(yù)測(cè)Java程序中的延遲。
現(xiàn)在,JRockit打包有一系列的稱為JRockit任務(wù)控制(JRockit Mission Control)的工具。這些工具包括:一個(gè)用于管理的控制臺(tái)(console,譯者注:此console跟終端不一樣,是特指管理后臺(tái)系統(tǒng)),進(jìn)行GC數(shù)據(jù)可視化和其他的一些性能統(tǒng)計(jì)。它同樣可以作為運(yùn)行時(shí)性能分析工具Runtime Analyzer來使用,也可以分析內(nèi)存問題。
Memory Analyzer
Memory Analyzer (MAT) 可以在Eclipse IDE中找到.
是一個(gè)可以幫助你找到內(nèi)存泄漏和減少內(nèi)存損耗的Java堆分析器。它更適合作為一個(gè)分析Java堆棧和計(jì)算大小的工具集,也可以用于監(jiān)測(cè)內(nèi)存泄漏和反模式帶來的內(nèi)存損耗。
Java Interactive Profiler
是一個(gè)用Java開發(fā)的高性能、低損耗性能分析器?;?nbsp; 發(fā)布,可以從 下載。使用JIP的開發(fā)者可以在VM運(yùn)行時(shí)開啟和關(guān)閉性能分析,并且可以過濾類和包、控制輸出。
Profiler4J
是一個(gè)專注于CPU性能分析的工具。它具有友好的用戶界面,支持遠(yuǎn)程性能分析,并且支持動(dòng)態(tài)修改配置。Profiler4j值得關(guān)注的特性有:基于動(dòng)態(tài)字節(jié)碼增強(qiáng)方式,這就表明它不需要任何本地的庫和外部可執(zhí)行文件支持。更重要的是,它完全由Java編寫,可以提供圖形化的調(diào)用圖形信息、調(diào)用樹結(jié)構(gòu)、內(nèi)存監(jiān)控和類列表,支持細(xì)粒度配置文件。它基于 發(fā)布,可以從Source Forge上
希望你覺得這些工具有用。你使用什么工具來改進(jìn)你的代碼,請(qǐng)告訴我們吧!
本文轉(zhuǎn)載自推酷!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn