當(dāng)有問題出現(xiàn)時(shí),許多開發(fā)人員可能會(huì)比較盲目的用這些工具來試探性定位問題,而大多數(shù)情況下,這種試探會(huì)無功而返。因?yàn)檫@些分析工具主要是側(cè)重Java單方面的分析,比如該系統(tǒng)調(diào)用第三方API,如果第三方API有問題,是無法監(jiān)控到的。還有像文件、DB資源的訪問也是是無法監(jiān)控到的。

創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元郊區(qū)做網(wǎng)站,已為上家服務(wù),為郊區(qū)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
除了JAVA自帶的監(jiān)控工具外,我們嘗試了第三方的監(jiān)控工具透視寶,功能相對(duì)全面,且易操作。
在功能方面,透視寶都包括:查看執(zhí)行最慢的10個(gè)元素,包括元素執(zhí)行次數(shù)、持續(xù)時(shí)長和占用時(shí)長百分比;查看HTTP請(qǐng)求參數(shù),包括請(qǐng)求的響應(yīng)狀態(tài)、鏈接頁面、具體的請(qǐng)求參數(shù)及返回結(jié)果;查看代碼執(zhí)行堆棧的詳細(xì)樹狀信息,包括每個(gè)方法的計(jì)算時(shí)間、總耗時(shí)和被調(diào)用的次數(shù),您能直接看到特殊標(biāo)識(shí)的最慢方法;查看涉及SQL語句的總耗時(shí)排序,包括SQL執(zhí)行總耗時(shí)、執(zhí)行次數(shù)和具體的查詢語句;第三方API調(diào)用。
應(yīng)用程序很高興對(duì)所有這些活動(dòng)一無所知。它只知道自己的虛擬地址空間。但是,如果當(dāng)前在主存中的頁面集(稱為 駐留集)少于實(shí)際要使用的頁面集(稱為 工作集),應(yīng)用程序的性能很快就會(huì)顯著降低。(不幸的是,本文中您將看到,我們要討論的工具常常交換使用這兩個(gè)術(shù)語,盡管它們指的是完全不同的事物。) Task Manager 和 PerfMon 我們首先考察兩種最常見的工具:Task Manager 和 PerfMon。這兩個(gè)工具都隨 Windows 一起提供,因此由此起步比較容易。 Task Manager Task Manager 是一種非常見的 Windows 進(jìn)程監(jiān)控程序。您可以通過熟悉的 Ctrl-Alt-Delete 組合鍵來啟動(dòng)它,或者右擊任務(wù)欄。Processes 選項(xiàng)卡顯示了最詳細(xì)的信息,如圖 2 所示。 圖 2. Task Manager 進(jìn)程選項(xiàng)卡 圖 2 中顯示的列已經(jīng)通過選擇 View -- Select Columns 作了調(diào)整。有些列標(biāo)題非常含糊,但可以在 Task Manager 幫助中找到各列的定義。和進(jìn)程內(nèi)存使用情況關(guān)系最密切的計(jì)數(shù)器包括: Mem Usage(內(nèi)存使用):在線幫助將其稱為進(jìn)程的工作集(盡管很多人稱之為駐留集)——當(dāng)前在主存中的頁面集。但是這個(gè)數(shù)值包含能夠和其他進(jìn)程共享的頁面,因此要注意避免重復(fù)計(jì)算。比方說,如果要計(jì)算共享同一個(gè) DLL 的兩個(gè)進(jìn)程的總內(nèi)存占用情況,不能簡單地把“內(nèi)存使用”值相加。 Peak Mem Usage(內(nèi)存使用高峰值):進(jìn)程啟動(dòng)以來 Mem Usage(內(nèi)存使用)字段的最大值。 Page Faults(頁面錯(cuò)誤):進(jìn)程啟動(dòng)以來要訪問的頁面不在主存中的總次數(shù)。 VM Size(虛擬內(nèi)存大小):聯(lián)機(jī)幫助將其稱為“分配給進(jìn)程私有虛擬內(nèi)存總數(shù)。”更確切地說,這是進(jìn)程所 提交的內(nèi)存。如果進(jìn)程保留內(nèi)存而沒有提交,那么該值就與總地址空間的大小有很大的差別。 雖然 Windows 文檔將 Mem Usage(內(nèi)存使用)稱為工作集,但在該上下文中,它實(shí)際上指的是很多人所說的駐留集(resident set),明白這一點(diǎn)很重要。您可以在 Memory Management Reference 術(shù)語表(請(qǐng)參閱 參考資料)中找到這些術(shù)語的定義。 工作集 更通常的含義指的是一個(gè)邏輯概念,即在某一點(diǎn)上為了避免分頁操作,進(jìn)程需要駐留在內(nèi)存中的那些頁面。 PerfMon 隨 Windows 一起提供的另一種 Microsoft 工具是 PerfMon,它監(jiān)控各種各樣的計(jì)數(shù)器,從打印隊(duì)列到電話。PerfMon 通常在系統(tǒng)路徑中,因此可以在命令行中輸入 perfmon 來啟動(dòng)它。這個(gè)工具的優(yōu)點(diǎn)是以圖形化的方式顯示計(jì)數(shù)器,很容易看到計(jì)數(shù)器隨時(shí)間的變化情況。 請(qǐng)?jiān)?PerfMon 窗口上方的工具欄中單擊 + 按鈕,這樣會(huì)打開一個(gè)對(duì)話框讓您選擇要監(jiān)控的計(jì)數(shù)器,如圖 3a 所示。計(jì)數(shù)器按照 性能對(duì)象分成不同的類別。與內(nèi)存使用關(guān)系最密切的兩個(gè)類是 Memory 和 Process。選中計(jì)數(shù)器然后單擊 Explain 按鈕,就可以看到計(jì)數(shù)器的定義。說明出現(xiàn)在主對(duì)話框下方彈出的單獨(dú)的窗口中。
檢測一個(gè)JAVA程序的運(yùn)行時(shí)間方法:
1
2
3
4
long startTime = System.currentTimeMillis();//獲取當(dāng)前時(shí)間
//doSomeThing(); //要運(yùn)行的java程序
long endTime = System.currentTimeMillis();
System.out.println("程序運(yùn)行時(shí)間:"+(endTime-startTime)+"ms");
SWT Win32 Extension 是Eclipse類庫SWT的Win32本地原生擴(kuò)展.
本項(xiàng)目提供了一個(gè)軟件開發(fā)工具庫,能夠讓您使用Java語言開發(fā)原生的Windows應(yīng)用程序而不需要編寫額外的JNI代碼。使用SWT Win32 Extension,您將不需要?jiǎng)?chuàng)建原生的動(dòng)態(tài)鏈接庫來調(diào)用操作系統(tǒng)動(dòng)態(tài)鏈接庫的系統(tǒng)API或者方法。您僅僅需要做的就是編寫Java代碼,?? SWT Win32 Extension來負(fù)責(zé)剩下的部分。SWT Win32 Extension提供了一系列的功能使您的應(yīng)用程序看上去和Win32本機(jī)程序別無二致。
窗口裝飾功能:?提供窗口置頂,透明,閃動(dòng)等功能。?
自定義窗口:?創(chuàng)建不規(guī)則的窗口。?
訪問Windows注冊表。?
系統(tǒng)文件夾:?獲取系統(tǒng)特殊文件加的路徑和圖標(biāo)。?
系統(tǒng)快捷方式:?管理系統(tǒng)快捷方式。?
系統(tǒng)相關(guān)信息:?收集系統(tǒng)CPU,內(nèi)存,環(huán)境變量等相關(guān)信息。?
系統(tǒng)會(huì)話:?提供關(guān)機(jī),休眠,重啟,注銷等功能。?
系統(tǒng)IO及網(wǎng)絡(luò)功能:?提供磁盤和網(wǎng)絡(luò)相關(guān)信息。?
活動(dòng)桌面功能:?管理Windows活動(dòng)桌面。?
系統(tǒng)鉤子:?注冊和卸載系統(tǒng)鉤子,能夠攔截和處理系統(tǒng)事件。?
窗口系統(tǒng)菜單:?管理窗口菜單。用戶可以自定義系統(tǒng)菜單和處理菜單事件。?
Ole 控件:?提供對(duì)一些常用控件的封裝,比如flash。 值得一提的是,您能夠訪問SWT提供的所有功能,因?yàn)镾WT Win32 Extension是從SWT派生出來的。
本文題目:java程序代碼監(jiān)控,Java監(jiān)控
網(wǎng)頁鏈接:http://chinadenli.net/article5/dsehdoi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、企業(yè)建站、網(wǎng)站設(shè)計(jì)、建站公司、網(wǎng)站營銷、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)