有谁用过针对Java程序的动态分析工具?
这个工具能探测出Java ByteCode中哪些代码是永远不执行的死代码?
用过的高人指点一下:)
posted on 2008-06-05 02:48
独孤求败 阅读(2389)
评论(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 |
# 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 |