java 编译器(JDK1.6.0_21 中的默认 javac)是否优化代码以防止使用相同的参数一遍又一遍地调用相同的方法?如果我写了这段代码:
public class FooBar {
public static void main(String[] args) {
foo(bar);
foo(bar);
foo(bar);
}
}
该方法foo(bar)
是否只运行一次?如果是这样,有什么办法可以防止这种优化?(我正在尝试比较两种算法的运行时间,一种是迭代的,一种是比较的,我想多次调用它们以获得具有代表性的样本)
任何见解将不胜感激;我把这个问题带到了精神错乱的地步(虽然我的电脑有一段时间非常快,所以我继续添加方法调用,直到我code too large
在 43671 行得到错误)。