私はあまり注意を払っていなかったと思う質問を再質問しています:
なぜこの単純なコード (単に への呼び出しMath.log()
)を行うのですか?
Double thisdouble = Math.log(10);
jdk1.7.0_11 の Math.class の 275 行目にブレークポイントを設定すると、次のようになります。
274 public static double log(double a) {
275 return StrictMath.log(a); // default impl. delegates to StrictMath
276 }
デバッグモードで実行を停止しませんか? 誰かが自分のマシンでこれを試すことができますか (私は Eclipse を使用しています)?
(254行目)関数の呼び出しMath.exp()
とデバッグは機能します...Math.exp
編集:上記に対する答えはMath.log
、Hotspot VM による組み込み呼び出しに置き換えられるため、Math クラスのコードに到達することはありません。今残っている問題はMath.exp
、組み込みに置き換えられない理由です...FWIW私はCore i5 M520(Arrandale)を使用していますが、そのプロセッサがexpではなくlogをサポートしていることを真剣に疑っています...