Java コンパイラと JIT コンパイラは、次のような最適化を自動的に行います。
インライン化
一定の折り返し処理
配列境界検査を行わない
ブロック内で共通の部分式を省略
空のメソッドを省略
ローカルのレジスタ割り当ての一部を省略
フロー分析を行わない
インライン化を限定する