2013-05-15 15 views
90

HotSpotとは何か、JVMとOpenJDKとはどのような関係がありますか?それは図書館ですか?それは正確に何をしますか?JVMとHotSpotの違いは?

また、OpenJDKとHotSpotの違いは何ですか?

答えて

92

Java仮想マシンの定義は、JVMが定義virtual machineであるJava Virtual Machine Specification

と呼ばれるものであり、それは実際のマシンが何をシミュレートするソフトウェアマシンです。実際のマシンと同様に、それはinstruction set、仮想コンピュータアーキテクチャと実行モデルを持っています。実際のマシンがマシンコードを実行できるように、この仮想命令セットで書かれたコードを実行することができます。

HotSpotは、もともとSunによって開発され、現在はOracleによって所有されているJVMコンセプトの実装です。 JRockit,IBM J9などのJVM仕様の実装が他にもあります。

OpenJDKは、ホットスポット(および他の多くのもの例えば、コンパイラ、JDKのAPIなど)のオープンソース実装が開発され、その下のプロジェクトですList of Java Virtual Machine Implementations

を参照してください。

16

OpenJDKの(オープンのJava Development Kit)がJavaプラットフォームのフリーでオープンソース実装で、標準版(Java SEの)【選択のOpenJDKは、Sun Microsystemsが始めたプロジェクトで、今日では多くの企業やコミュニティでケアJava Development Kitをオープンソースで構築するためのものです。 official documentationに従ってください。

OpenJDKは、Java Platform、Standard Edition(Java SE)仕様のオープンソース実装です。 2007年5月に、SunはGNU General Public Licenseバージョン2(GPLv2)の下でOpen Java CommunityのJava SE用の完全にビルド可能なJava Development Kit(JDK)バージョンをフリーソフトウェアとしてリリースしました。サンは、OpenJDKコミュニティのための暫定理事会を発表しました。 Sunはまた、OpenJDKベースの実装でJava SE 6 Technical Compatibility Kit(JCK)を使用してJava SE 6仕様との互換性を確立できることを発表しました。

OpenJDKのプロジェクトは、コンポーネントの数で構成されています - のHotSpot(仮想マシン)、Javaのクラスライブラリとjavac Javaのcompiler.Forよりその上、そのsiteをご覧ください。

Sun/Oracleが提供する現在のJVMは、「ジャストインタイム」最適化のためにコード内のホットスポット(コードがより集中的に使用される場所)を探すため、HotSpotと呼ばれています。 wikipediaから、「Java HotSpot Performance Engine」としてリリースされたHotSpotは、Oracle Corporationによって維持管理および配布されるデスクトップおよびサーバー用のJava仮想マシンです。

+0

OpenJDKはHotSpotを使ってコードを実行すると聞いたことがありますか?本当? – Justin

+0

@ TheNewIdiot、あなたはHotSpotがOpenJDKの一部だと言っていますか?または、上の答えが示唆しているように、独自のHotSpotもありますか? – Pacerier

+0

@ NINCなので、HotspotはOracleJDKとOpenJDKの両方に含まれていますか?ホットスポット= JRockit = OracleJDK = OpenJDK? – Pacerier

6

HotSpotは、前述のように、Java Virtual Machine(JVM)の概念のクロスプラットフォーム実装であり、OpenJDK(Java Developer Kit)と共にGNU General Public Licenseの下で配布されます。 HotSpotは主にC++で書かれ、もともとはSun Microsystemsのもとで開発されました。現在、OpenJDKプロジェクト(www.java.net)で開発されています。 HotSpot JVMは、Java 1.2のアドオンとして利用でき、Java 1.3ではデフォルトのSun JVMとして使用されました。 JVMは現在バージョン7、ビルドb147にあり、その背後にはアクティブな開発コミュニティがあります。詳細については

、後藤: https://www.java.net/

コーディング

ハッピー!

3

JVMは抽象マシン(仕様)です。 HotSpot、OpenJDK、JRockitなどがJVMの実装です。

フリーでオープンソース実装

  • のHotSpot、次基準のJava VMの実装

  • OpenJDKの - オープンのJava Development Kitは、フリーでオープンソース実装でありますGNU一般公衆利用許諾契約書(GNU GPL)に基づいてライセンス供与されており、リンク例外があります。 implementations
    linkが違いを説明して多くのためのLinux、WindowsおよびSolaris

するためにOracleに買収

独自の実装

  • (もともとアピール仮想マシンから)のJRockit HotSpotとJRocketとの間で

-7

HotSpotはC++ハッキングの高度な形式です。これを使用するには、最も簡単なものをコンパイルするためにビルドする必要があります。あなたがコンパイラをチューニングしたり、ゼロから書き込んだりしない限り。 HotSpotは、基本的にソースコードをC++コードに変換し、それをネイティブコードにコンパイルする方法です。つまり、jitという用語がコンパイルされます。

関連する問題