Java 性能優(yōu)化的 9 個(gè)工具,你知道幾個(gè)?
關(guān)注Java核心技術(shù),推送更多 Java 干貨!
之前我寫過(guò)一篇關(guān)于5個(gè)工具幫助寫出更好的Java代碼的文章。合適的工具可以改進(jìn)我們的代碼,并且提高開發(fā)效率。在IDR解決方案中,我們一直在找一些方法來(lái)改進(jìn)我們的代碼。
但最近,我們?cè)诳紤]改進(jìn)PDF HTML5轉(zhuǎn)換器和Java PDF類庫(kù)代碼時(shí),發(fā)現(xiàn)最近我們的關(guān)注點(diǎn)已經(jīng)開始轉(zhuǎn)換到如何提升Java性能。
在這篇文章中,我會(huì)帶著大家一起看一下9個(gè)可以幫助我們優(yōu)化Java性能的工具。有一些我們已經(jīng)在IDR Solutions中使用了,而另外一些有可能在個(gè)人項(xiàng)目中使用。
1、NetBeans Profiler

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)問(wèn)題的開發(fā)者非常有用。
2、JProfiler

JProfiler 在我之前的文章中有提及。同樣,它也是一個(gè)很好的Java性能分析工具。JProfiler集CPU、內(nèi)存和線程性能分析于一體,可以用于分析性能瓶頸、內(nèi)存泄漏、CPU負(fù)載和解決線程相關(guān)的問(wèn)題,并且支持本地性能分析(分析與JProfiler軟件安裝在同一臺(tái)機(jī)的應(yīng)用)和遠(yuǎn)程性能分析(它可以分析遠(yuǎn)程沒(méi)有安裝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ì)。
3、GC Viewer

GC Viewer可以(從主頁(yè)和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ù)記錄,包括吞吐、累積暫停、最長(zhǎng)時(shí)間的暫停等等。當(dāng)你想要通過(guò)改變生成大小和設(shè)置初始堆大小來(lái)調(diào)整某個(gè)特定應(yīng)用的GC時(shí),它尤其有用。
分享資料:最新 Java 面試題出爐!
GC Viewer是一個(gè)開源工具,由Tagtraum Industries Incorporated開發(fā)。這是一個(gè)很小的初創(chuàng)軟件咨詢公司,位于羅利、北卡羅萊納州,由成立于1999年的非盈利項(xiàng)目Tagtraum Industries在2004年創(chuàng)立。
4、VisualVM

VisualVM 是一個(gè)由NetBeans平臺(tái)派生的工具,遵循模塊化的架構(gòu)思想。這意味著可以通過(guò)插件方便的進(jìn)行擴(kuò)展。
Visual VM可以進(jìn)行CPU性能分析、內(nèi)存性能分析,進(jìn)行GC(譯者注:可以進(jìn)行強(qiáng)制調(diào)用GC)、保存快照等。
5、Patty Beta

6、JRockit——任務(wù)管理

JRockit 是一個(gè)原由Appeal Virtual Machines開發(fā)的專有Java虛擬機(jī)。2002年由BEA Systems收購(gòu),之后從Sum Microsystems處轉(zhuǎn)到Oracle。
Oracle的JRockit是一套完整的Java SE解決方案,包含了一個(gè)高性能JVM、性能分析、監(jiān)控和排錯(cuò)工具。可用于預(yù)測(cè)Java程序中的延遲。
最新面試題整理好了,點(diǎn)擊Java面試庫(kù)小程序在線刷題。
現(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來(lái)使用,也可以分析內(nèi)存問(wèn)題。
關(guān)注Java核心技術(shù),推送更多 Java 干貨!
7、Eclipse Memory Analyzer

Memory Analyzer (MAT) 可以在Eclipse IDE中找到
Eclipse內(nèi)存分析器(Eclipse Memory Analyzer)是一個(gè)可以幫助你找到內(nèi)存泄漏和減少內(nèi)存損耗的Java堆分析器。它更適合作為一個(gè)分析Java堆棧和計(jì)算大小的工具集,也可以用于監(jiān)測(cè)內(nèi)存泄漏和反模式帶來(lái)的內(nèi)存損耗。
8、Java Interactive Profiler

JIP是一個(gè)用Java開發(fā)的高性能、低損耗性能分析器。基于BSD許可協(xié)議發(fā)布,可以從Source Forge下載。使用JIP的開發(fā)者可以在VM運(yùn)行時(shí)開啟和關(guān)閉性能分析,并且可以過(guò)濾類和包、控制輸出。
9、Profiler4J

Profiler4j 是一個(gè)專注于CPU性能分析的工具。它具有友好的用戶界面,支持遠(yuǎn)程性能分析,并且支持動(dòng)態(tài)修改配置。
Profiler4j值得關(guān)注的特性有:基于動(dòng)態(tài)字節(jié)碼增強(qiáng)方式,這就表明它不需要任何本地的庫(kù)和外部可執(zhí)行文件支持。
來(lái)源:idrsolutions譯者:伯樂(lè)在線 - 陳曉舜鏈接:http://www.importnew.com/12324.html最近好文分享1. 最新 Java 面試題出爐!(帶全部答案)
2. 重磅!Oracle 宣布從 JDK 17 開始正式免費(fèi)。。3. Java 調(diào)用第三方接口,實(shí)戰(zhàn)來(lái)了!4. 用好這個(gè)IDEA插件,寫代碼效率至少提升5倍!
5. 手寫一個(gè)迷你版 HashMap,面試隨便問(wèn)!
更多請(qǐng)關(guān)注???Java核心技術(shù)一個(gè)分享Java核心技術(shù)干貨的公眾號(hào)
點(diǎn)擊閱讀原文獲取面試題~