亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

跟蹤Java執(zhí)行過程的方法

時間:2024-09-14 16:14:08 JAVA認證 我要投稿
  • 相關(guān)推薦

跟蹤Java執(zhí)行過程的方法

  Zviki Cohen基于自己探索和理解他人所編寫代碼的體驗,發(fā)布了跟蹤Java執(zhí)行過程的5種方法。他發(fā)現(xiàn)簡單的閱讀源代碼(有些情況下是反編譯代碼),可能是十分乏味和有錯誤傾向的過程。

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

  1、基本方法:斷點和單步執(zhí)行

  “以最簡單的方法開始:設(shè)置斷點并開始跟蹤你的程序執(zhí)行。它在這些時候是最好的:你需要一個快速且簡單的解決方案,你擁有所有代碼并且知道想在哪里停止執(zhí)行。你需要在給定斷點設(shè)置精細的信息(參數(shù)、局部變量等等)。”

  2、初級方法:調(diào)試消息

  “我們通過設(shè)置調(diào)試消息來繼續(xù)對程序跟蹤。最簡單的方法是使用System.out.println語句把消息打印到控制臺。 它在這些時候是最好的:你擁有代碼且很清楚你正在尋找什么。對事件處理器來說這是非常好的解決方案。當(dāng)貫穿某一復(fù)雜流程的執(zhí)行過程時,它的高性能對理解觸發(fā)了哪個事件是非常實用的。”

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

  “這是在簡單調(diào)試消息之上所做的改進。動態(tài)代理是一個特定的Java特性,它允許開發(fā)者引入proxy類,加進某一給定類之前,并通過某一給定接口截獲所有調(diào)用。它在這些時候是最好的:它對事件處理器來說是非常好的解決方案。你可以在很短時間內(nèi)用一個普通代理設(shè)置一個虛擬事件處理器,來查看事件發(fā)生順序。當(dāng)需要理解事件處理器時這是最簡單和快捷的方法。”

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

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

  5、新時代:Aspects

  “面向方面編程(Aspect Oriented Programming——AOP)是一個非凡的想法。無需深入Aspect概念,這里只考慮其能力:它是截獲你的代碼執(zhí)行既快速又容易的方法。你可以圍繞方法、構(gòu)造器、屬性訪問等等有選擇地設(shè)置hook,而不需要修改原始代碼。在這些hook中,你可以打印調(diào)試消息。它在這些時候是最好的:你想跟蹤可重新構(gòu)建的代碼執(zhí)行。”

  延伸閱讀:創(chuàng)建Excel格式的數(shù)據(jù)

  到目前為止,通過一個Servlet或者jsp生成一個逗號分割值(CSV)文件,然后作為MIME類型text/csv返回給瀏覽器,這還是在Java應(yīng)用中創(chuàng)建MicrosoftExcel文件的最常用的方法。瀏覽器會調(diào)用Excel,并顯示CSV格式的文件。

  現(xiàn)在有了一個為Java開發(fā)人員提供能夠真正創(chuàng)建Excel文件的方案。這就是一個稱作POI(“可憐的混亂實現(xiàn)”)的新的Jakarta項目組中最成熟的部分。POI中Excel組件命名為HSSF(“可怕的電子表格格式”)。

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

  下面是在一個Excel表格中創(chuàng)建一個矩陣的簡單例子:

  importorg.apache.poi.hssf.usermodel.*;importjava.io.FileOutputStream;//code run against thejakarta-poi-1.5.0-FINAL-20020506.jar.publicclass PoiTest staticpublic void main(String args) throws ExceptionFileOutputStream fos= new FileOutputStream("foo.xls");HSSFWorkbookwb = newHSSFWorkbook();HSSFSheet s =wb.createSheet();wb.setSheetName(0,"Matrix");for(short i=0; i〈50;i++) HSSFRow row =s.createRow(i);for(short j=0; j〈50; j++) HSSFCellcell=row.createCell(j);cell.setCellValue(""+i+","+j);wb.write(fos);fos.close();

  這段代碼首先創(chuàng)建一個Workbook,從該Workbook中得到一個表格、命名,然后繼續(xù)寫入一個50x50的矩陣。最后輸出到一個名為foo.xls的Excel文件,甚至在Mac機上也可以打開。

  POI項目是Java應(yīng)用的令人興奮的一步,為用戶提供了Windows文檔集成的新功能,答應(yīng)Java開發(fā)人員方便地擴展其產(chǎn)品的功能。

【跟蹤Java執(zhí)行過程的方法】相關(guān)文章:

Java調(diào)用MySQL存儲過程并獲得返回值的方法08-25

JavaScript函數(shù)的執(zhí)行過程09-20

在Java中執(zhí)行JavaScript代碼07-14

Java怎么編寫Oracle存儲過程09-15

Java中調(diào)用Oracle包的過程06-27

Java枚舉的常用方法10-05

Java線程同步的方法10-25

Java數(shù)組定義常用方法09-28

Java中日期的處理方法09-03

市政項目跟蹤審計的重點和方法10-11

主站蜘蛛池模板: 国产乱xxxxx97国语对白| 日韩精品视频久久| 亚洲成人小说| 亚洲色欲在线播放一区| 亚洲精品久久久久午夜福禁果tⅴ| 国产又黄又硬又粗| 久久久久国产精品人妻aⅴ武则天| 日本欧美亚洲中文在线观看| 蜜臀AⅤ永久无码精品| 国产日本一线在线观看免费| 无码日本精品一区二区片| 无码无套少妇18p在线直播| 亚洲国产午夜精品理论片在线播放| 中文字幕欧美日韩| 中文无码人妻影音先锋| 国产精品香港三级国产av| 国内精品伊人久久久影院| 国产亚洲成av人片在线观看下载 | 亚洲国产一区在线观看| 97无码视频在线看视频| 国产精品涩涩涩视频网站| 国产精品乱子乱XXXX| av国産精品毛片一区二区三区| 欧美人成视频在线视频| 国产亚卅精品无码| 自偷自拍亚洲综合精品| 久久无码精品一一区二区三区| 亚洲第一精品福利| 精品国产乱码久久久人妻| 国产综合18久久久久久| AV不卡在线永久免费观看| 在线观看无码av网站永久免费| 超级av在线天堂东京热| 亚洲综合色88综合天堂| 日本精品无码一区二区三区久久久| 亚洲成年轻人电影网站www| 久久久无码人妻精品一区| 久久免费午夜福利院| 天天躁日日躁狠狠躁超碰97| 97人人超碰国产精品最新| 老司机精品无码免费视频|