頭があれで、説明が下手ですいませんが、Javaの言語は**「ソースコード」→「バイトコード」→「機械語」という順番で変換**されて実行されますが、
「ソースコード」→「バイトコード」に変換する際は「コンパイラ方式」で変換
「バイトコード」→「機械語」に変換する際は「インタプリタ方式」で変換
という2つの方式を使って実行されていくと思いますが、
このページの**「バイトコードの実行方式」**を見てみると
・バイトコードをインタプリタで逐次解析しながら、「JVM」という仮想マシン上で実行。
・バイトコードの読み込み時に、JITコンパイラがバイトコードを機械語にコンパイルして実行。
と書かれていますが、一つ目の「バイトコードをインタプリタで逐次解析」のところはわかりますが、
もう一つの「バイトコードの読み込み時に、JITコンパイラがバイトコードを機械語にコンパイルして実行。」というのは
これはどういうことでしょうか?
つまり、
「バイトコードを機械語に変換する方式としてインタプリタで実行」
「バイトコードを機械語に変換する方式としてコンパイラで実行」
↑この2つのことを指すのでしょうか?
もし、この2種類があったとしたら、どんなときにどのタイミングで方式(インタプリタ・コンパイラ)を変えるのでしょうか?
それとも同時並行で実行するのでしょうか?
よろしくお願いします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/07 15:44