HotSpot

HotSpot
開発元 オラクル、サン・マイクロシステムズ、Longview Technologies, LLC
プログラミング
言語
C++, アセンブリ
対応OS クロスプラットフォーム
種別 実行時コンパイラ
ライセンス GNU General Public License, version 2, with the Classpath Exception
公式サイト openjdk.org/groups/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ライセンスの下で利用できるようになった。

脚注

[脚注の使い方]

注釈

  1. ↑ 英: hot spot、「人気のある場所」の意味。直訳すると「熱い場所」。

出典

  1. ↑ Bjarne Stroustrup. “C++ Applications”. 2019年6月14日閲覧。
  2. ↑ “OpenJDK: GPLv2 + Classpath Exception”. openjdk.org. 2025年9月21日閲覧。
  3. ↑ Java ME テクノロジー - CDC
  4. ↑ “SUN MICROSYSTEMS RELEASES FASTEST CLIENT-SIDE JAVA PLATFORM TO DATE”. Sun Microsystems. 2008年5月6日時点のオリジナルよりアーカイブ。2006年3月7日閲覧。
  5. ↑ Java HotSpot(TM) Client Virtual Machine および Java HotSpot(TM) Server Virtual Machine
  6. ↑ “Performance of Java versus C++”. 2019年6月14日閲覧。

関連項目

外部リンク