HotSpot

HotSpot（ホットスポット）はオラクル（旧サン・マイクロシステムズ）が提供しているJava仮想マシンで使われている高速化のための技術の名称。デスクトップ向け・サーバ向け・組み込み環境向け (Java ME) がある。性能を改善するためにジャストインタイムコンパイル方式、適応的最適化 (adaptive optimization) などの技術を使っている。

歴史 
HotSpotは、1999年4月27日に最初にリリースされ、1994年に設立された小さな新興企業Animorphicの名前で事業経営中だった有限会社 Longview Technologies によって独自に開発された。1997年には有限会社 Lonview Technologies（Animorphicの名前で事業経営中）はサンに買収された。当初Java 1.2でアドオンとして利用可能だったHotSpotはJava 1.3からサンの標準のJava仮想マシンとなった。

その名前はJavaバイトコードを実行する際の挙動に由来する。HotSpotは頻繁に繰り返し実行されるコード領域すなわち「ホットスポット」を絶えず解析する。これらは、性能に重大な影響を与えるコードを標的として最適化を重点的に行い、その他のコードには最小限の最適化で済ませることでオーバーヘッドを小さくし、高性能な実行を実現する。HotSpotはJava仮想マシンの中でも最高性能が得られると極めて高い評価を得ている。実際にはまれだが、理論上はJava仮想マシンの adaptive optimization がC++あるいはアセンブリ言語を用いた手動最適化に勝る場合もある。

設計 
サンのJREによれば、HotSpotはクライアント版およびサーバ版と呼ばれる二つの互換実装からなる。クライアント版は必要不可欠なクラスやメソッドのみを素速くロードしコンパイルするようチューニングする。サーバ版は、よりゆっくりロードを行うが、より高性能な高度に最適化されたJITコンパイル結果を産出することに、より尽力する。

ライセンス 
2006年11月13日にはサンのJava仮想マシンとJDKはGPLライセンスの下で利用できるようになった。

脚注

注釈

出典

関連項目 
 Java仮想マシンの一覧 (:en:List of Java virtual machines)

外部リンク 
 Java SE HotSpot at a Glance - Oracle
 Java HotSpot VM Options - Oracle
和訳
Java HotSpot VM オプション - Java 2 SDK 開発ガイド (Solaris 編)(注意: 2010年作成) - Oracle
 HotSpot VM FAQ - Oracle
 The History of the Strongtalk Project
 
 Java仮想マシン(JVM)のチューニング - Oracle (Oracle 12cリリース1用)

Java仮想マシン