有誰用過針對Java程序的動(dòng)態(tài)分析工具?
這個(gè)工具能探測出Java ByteCode中哪些代碼是永遠(yuǎn)不執(zhí)行的死代碼?
用過的高人指點(diǎn)一下:)
posted on 2008-06-05 02:48
獨(dú)孤求敗 閱讀(2399)
評論(7) 編輯 收藏
評論:
# re: Java程序動(dòng)態(tài)分析工具有哪些?
2008-06-05 21:50 |
印象中javac已經(jīng)可以去除不可及代碼了,到j(luò)it compiler這一層的話,肯定可以優(yōu)化掉。
回復(fù) 更多評論
# re: Java程序動(dòng)態(tài)分析工具有哪些?
2008-06-05 22:43 |
我知道,很多編譯器都有優(yōu)化功能,但是優(yōu)化得不是很徹底!例如,我曾經(jīng)做過實(shí)驗(yàn):
(1)if(3!=4)
code_1;
(2)int X=1,Y=2;
if(5X*X!=Y*Y-1)
code_2;
在這兩種情形下,code_1、code_2都是永遠(yuǎn)不執(zhí)行的代碼,在編譯為字節(jié)碼時(shí),編譯器應(yīng)該把(1)和(2)中的所有的代碼都優(yōu)化掉,但是javac只能優(yōu)化掉(1)中所有的代碼,而不能將(2)中if條件和code_2優(yōu)化掉...
@白色天堂
回復(fù) 更多評論
# re: Java程序動(dòng)態(tài)分析工具有哪些?
2008-06-05 23:29 |
你所說的JIT Compiler是指執(zhí)行字節(jié)碼時(shí)用的JIT技術(shù)嘛?比如Hotspot。還是指純粹的從源代碼到字節(jié)碼這一層的Compiler?
@白色天堂
回復(fù) 更多評論
# re: Java程序動(dòng)態(tài)分析工具有哪些?[未登錄]
2008-06-06 15:19 |
# re: Java程序動(dòng)態(tài)分析工具有哪些?
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
回復(fù) 更多評論
# re: Java程序動(dòng)態(tài)分析工具有哪些?
2008-06-06 21:24 |
確實(shí)javac的優(yōu)化做得很少,很多基本的優(yōu)化都不會(huì)作,我的理解是SUN認(rèn)為這些優(yōu)化可以在jvm運(yùn)行時(shí)由jit compiler完成,也就是你說的hotspot。SUN對他的這個(gè)技術(shù)似乎很有信心。
回復(fù) 更多評論
# re: Java程序動(dòng)態(tài)分析工具有哪些?
2008-06-07 23:49 |