當前位置:才華齋>IT認證>JAVA認證>

跟蹤Java執行過程的方法

JAVA認證 閱讀(1.55W)

Zviki Cohen基於自己探索和理解他人所編寫程式碼的體驗,釋出了跟蹤Java執行過程的5種方法。他發現簡單的閱讀原始碼(有些情況下是反編譯程式碼),可能是十分乏味和有錯誤傾向的過程。

跟蹤Java執行過程的方法

作為替代,他推薦了5種不同執行時跟蹤方法以在Java程式碼執行時觀察它,消除了學習他人程式碼的許多不利條件。下面一起來看看吧!

  1、基本方法:斷點和單步執行

“以最簡單的方法開始:設定斷點並開始跟蹤你的程式執行。它在這些時候是最好的:你需要一個快速且簡單的解決方案,你擁有所有程式碼並且知道想在哪裡停止執行。你需要在給定斷點設定精細的資訊(引數、區域性變數等等)。”

  2、初級方法:除錯訊息

“我們通過設定除錯訊息來繼續對程式跟蹤。最簡單的方法是使用tln語句把訊息列印到控制檯。 它在這些時候是最好的:你擁有程式碼且很清楚你正在尋找什麼。對事件處理器來說這是非常好的解決方案。當貫穿某一複雜流程的執行過程時,它的高效能對理解觸發了哪個事件是非常實用的。”

  3、熱門方法:動態代理(Dynamic Proxy)

“這是在簡單除錯訊息之上所做的改進。動態代理是一個特定的Java特性,它允許開發者引入proxy類,加進某一給定類之前,並通過某一給定介面截獲所有呼叫。它在這些時候是最好的:它對事件處理器來說是非常好的解決方案。你可以在很短時間內用一個普通代理設定一個虛擬事件處理器,來檢視事件發生順序。當需要理解事件處理器時這是最簡單和快捷的方法。”

  4、暴力方法:執行時剖析器(Run-time Profiler)

“剖析器是通過特定的JVM hooks在系統中跟蹤所有呼叫的`強大工具。但是用它來跟蹤執行過程是大才小用。它在這些時候是最好的:你想擁有一個特定操作的完整畫卷(如,非常短的執行流程)。”

  5、新時代:Aspects

“面向方面程式設計(Aspect Oriented Programming——AOP)是一個非凡的想法。無需深入Aspect概念,這裡只考慮其能力:它是截獲你的程式碼執行既快速又容易的方法。你可以圍繞方法、構造器、屬性訪問等等有選擇地設定hook,而不需要修改原始程式碼。在這些hook中,你可以列印除錯訊息。它在這些時候是最好的:你想跟蹤可重新構建的程式碼執行。”

  延伸閱讀:建立Excel格式的資料

到目前為止,通過一個Servlet或者jsp生成一個逗號分割值(CSV)檔案,然後作為MIME型別text/csv返回給瀏覽器,這還是在Java應用中建立MicrosoftExcel檔案的最常用的方法。瀏覽器會呼叫Excel,並顯示CSV格式的檔案。

現在有了一個為Java開發人員提供能夠真正建立Excel檔案的方案。這就是一個稱作POI(“可憐的混亂實現”)的新的Jakarta專案組中最成熟的部分。POI中Excel元件命名為HSSF(“可怕的電子表格格式”)。

雖然HSSF提供了許多不同的和引擎互動的方式,我們這兒集中於簡單的高層使用者API的討論。

下面是在一個Excel表格中建立一個矩陣的簡單例子:

model.*;OutputStream;//code run against icclass PoiTest staticpublic void main(String args) throws ExceptionFileOutputStream fos= new FileOutputStream("");HSSFWorkbookwb = newHSSFWorkbook();HSSFSheet s =teSheet();heetName(0,"Matrix");for(short i=0; i〈50;i++) HSSFRow row =teRow(i);for(short j=0; j〈50; j++) HSSFCellcell=teCell(j);ellValue(""+i+","+j);e(fos);e();

這段程式碼首先建立一個Workbook,從該Workbook中得到一個表格、命名,然後繼續寫入一個50x50的矩陣。最後輸出到一個名為的Excel檔案,甚至在Mac機上也可以開啟。

POI專案是Java應用的令人興奮的一步,為使用者提供了Windows文件整合的新功能,答應Java開發人員方便地擴充套件其產品的功能。