• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 跟蹤Java執(zhí)行過(guò)程的方法

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

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

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

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

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

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

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

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

          3、熱門(mén)方法:動(dòng)態(tài)代理(Dynamic Proxy)

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

          4、暴力方法:運(yùn)行時(shí)剖析器(Run-time Profiler)

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

          5、新時(shí)代:Aspects

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

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

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

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

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

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

          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)建一個(gè)Workbook,從該Workbook中得到一個(gè)表格、命名,然后繼續(xù)寫(xiě)入一個(gè)50x50的矩陣。最后輸出到一個(gè)名為foo.xls的Excel文件,甚至在Mac機(jī)上也可以打開(kāi)。

          POI項(xiàng)目是Java應(yīng)用的令人興奮的一步,為用戶(hù)提供了Windows文檔集成的新功能,答應(yīng)Java開(kāi)發(fā)人員方便地?cái)U(kuò)展其產(chǎn)品的功能。

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

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

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

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

        Java怎么編寫(xiě)Oracle存儲(chǔ)過(guò)程09-15

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

        Java枚舉的常用方法10-05

        Java線(xiàn)程同步的方法10-25

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

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

        市政項(xiàng)目跟蹤審計(jì)的重點(diǎn)和方法10-11

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 伊人久久国产免费观看视频 | 亚洲欧洲中文字幕乱码 | 亚洲中文字幕一区二区在线看 | 日韩精品免费视频一区二区三区 | 日韩国产中文字幕 | 日韩精品系列在线 |