隨筆-8  評論-67  文章-0  trackbacks-0
          有誰用過針對Java程序的動態分析工具?

          這個工具能探測出Java ByteCode中哪些代碼是永遠不執行的死代碼?

          用過的高人指點一下:)
          posted on 2008-06-05 02:48 獨孤求敗 閱讀(2400) 評論(7)  編輯  收藏

          評論:
          # re: Java程序動態分析工具有哪些? 2008-06-05 21:50 | 白色天堂
          印象中javac已經可以去除不可及代碼了,到jit compiler這一層的話,肯定可以優化掉。  回復  更多評論
            
          # re: Java程序動態分析工具有哪些? 2008-06-05 22:43 | 獨孤求敗
          我知道,很多編譯器都有優化功能,但是優化得不是很徹底!例如,我曾經做過實驗:

          (1)if(3!=4)
          code_1;
          (2)int X=1,Y=2;
          if(5X*X!=Y*Y-1)
          code_2;

          在這兩種情形下,code_1、code_2都是永遠不執行的代碼,在編譯為字節碼時,編譯器應該把(1)和(2)中的所有的代碼都優化掉,但是javac只能優化掉(1)中所有的代碼,而不能將(2)中if條件和code_2優化掉...
          @白色天堂
            回復  更多評論
            
          # re: Java程序動態分析工具有哪些? 2008-06-05 23:29 | 獨孤求敗
          你所說的JIT Compiler是指執行字節碼時用的JIT技術嘛?比如Hotspot。還是指純粹的從源代碼到字節碼這一層的Compiler?
          @白色天堂
            回復  更多評論
            
          # re: Java程序動態分析工具有哪些?[未登錄] 2008-06-06 15:19 | Hank
          are you sure that you need 動態分析工具, not static code analysis?

          http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#Java

          try those. they can tell you the unreachable source block in your source code.  回復  更多評論
            
          # re: Java程序動態分析工具有哪些? 2008-06-06 16:26 | 獨孤求敗
          Is there any code analysis tool that can find the dead code in a Java bytecode such as a class file?
          @Hank
            回復  更多評論
            
          # re: Java程序動態分析工具有哪些? 2008-06-06 21:24 | 白色天堂
          確實javac的優化做得很少,很多基本的優化都不會作,我的理解是SUN認為這些優化可以在jvm運行時由jit compiler完成,也就是你說的hotspot。SUN對他的這個技術似乎很有信心。  回復  更多評論
            
          # re: Java程序動態分析工具有哪些? 2008-06-07 23:49 | 獨孤求敗
          @白色天堂
          hehe,maybe:)
            回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 宝清县| 喀喇| 阿巴嘎旗| 日照市| 北宁市| 连云港市| 措美县| 江北区| 广州市| 淮安市| 西乌珠穆沁旗| 郎溪县| 无锡市| 石屏县| 诏安县| 伊宁市| 寿光市| 福泉市| 玉山县| 湄潭县| 多伦县| 连城县| 贵州省| 定兴县| 鄂托克旗| 古丈县| 大埔县| 祥云县| 称多县| 宜兴市| 鹤岗市| 华安县| 东至县| 甘南县| 漠河县| 敦煌市| 桃江县| 海阳市| 土默特左旗| 务川| 唐河县|