【2分でわかる】JavaのJITとは? 簡単説明

javaのJIT
  • このエントリーをはてなブックマークに追加
  • Pocket

JavaでJITというと、JITコンパイラを指す。

もともとJust-In-Timeのことで、JVMが実行直前にコンピュータが理解できる機械語に翻訳する仕組みだ。

Javaで使われるJITとは?

JITとはJust-In-Timeのことである。英語の直接の意味は、「まさにその時に」となる。

JavaでJITというとJITコンパイラのことを指す。JITコンパイラは、様々なコンピュータが理解できる機械語の命令をJVM(Java仮想マシーン)が実行直前、つまり「まさにその時に」コンピュータが理解できる機械語に翻訳する。このような意味でJITという言葉が使われているのである。

段階を追ってもう少し詳しく見てみよう。

Javaのプログラムを実行するために、実行前と実行中のふたつの段階で翻訳が行われる。第一段階はプログラムを実行する前に、バイトコードと呼ばれる中間言語に翻訳することである。この中間言語は、様々なコンピュータの上で動くJVMにとって共通の言語である。

第二段階はプログラムを実行する直前で、中間言語からそれぞれのコンピュータで実行可能な機械語に翻訳する。この時、翻訳のために使われるのがJITコンパイラである。

jitコンパイラ

JITによるコンパイル

先に説明したようにJVMに組み込まれたJITコンパイラは、クラスのメソッドを実行直前に読み込んで、そのメソッドをコンパイルする。つまり、メソッドが呼び出されたときメソッド単位で読み込んで、実行可能な機械語に翻訳するのである。一度にクラス全体を翻訳して、それをどこかに保存するわけではない。

JITによるコンパイル

余談だが、JVMはJITコンパイラで翻訳を行うが、何度も同じメソッドの呼び出しによる翻訳が行われると、この繰り返しがモニタされていて、繰り返されるメソッドの最適化が行われる仕組みになっている。

この最適化により、無駄な処理が省かれるなどさらに高速なメソッドの実行が行われる。

まとめ

このページではJavaのJITについて簡単に解説してみた。知っておくと何かの参考になるかもしれない。ご一読いただければ幸いだ。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リナックスアカデミーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リナックスアカデミーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する