Java コンパイラ (JDK1.6.0_21 に付属するデフォルトの javac) はコードを最適化して、同じメソッドが同じ引数で何度も呼び出されるのを防ぎますか? このコードを書いた場合:
public class FooBar {
public static void main(String[] args) {
foo(bar);
foo(bar);
foo(bar);
}
}
メソッドfoo(bar)
は 1 回だけ実行されますか? もしそうなら、この最適化を防ぐ方法はありますか? (1 つは反復アルゴリズム、もう 1 つは比較アルゴリズムの 2 つのアルゴリズムの実行時間を比較しようとしています。代表的なサンプルを取得するために、それらを何度も呼び出したいと考えています)
どんな洞察も大歓迎です。私はこの問題を狂気に陥れました (しばらくの間、私のコンピューターは非常に高速だったので、code too large
43671 行でエラーが発生するまでメソッド呼び出しを追加し続けました)。