JVM(3):JVMの歴史

Java仮想マシンといえば、多くの人がHotSpot仮想マシンと同一視されます。しかし、実際にはそうでホットスポットだけでなく、日クラシックVM、正確なVM、BEA JRocketit、IBM J9とに加えて、Java仮想マシン。今日は、単純なJava仮想マシンの歴史を振り返ります。

仮想マシンの祖先:日クラシック

1996年1月23日、Sunは仮想マシンに付属しているJDK 1.0は、クラシックVMでリリース。しかし、この仮想マシンは、あなたがそれをJITコンパイラプラグインを使用する必要があります使用したい場合にのみ、Javaコードを実行するために、純粋なインタプリタの方法を使用することができる機能を持っています。

ヒント:実行コードの解釈にコンパイルして実行することができます。これは、解釈コードを実行解釈側縁を意味します。コンパイラの実装では、実行した後、コンパイルを指します。

JITコンパイラは、プラグイン、その後、JITコンパイラは完全に仮想マシンのシステムの実装を置換する場合は、インタプリタはもう動作しません。簡単に言えば、日クラシック仮想マシンインタプリタとコンパイラではないが共存することができます。

でもプラグインのJITコンパイラ場合や、仮想マシンの実行速度日クラシックはすぐにもアップしていません。インタプリタとコンパイラが一緒に働くことができないので、それだけで、各メソッドのためにコンパイルすることができるので、仮想マシンは、高周波を使用している方法を決定することができません。仮想マシンにつながっこれは時間のかかるわずかに高い最適化手法をすることはできません比較的単純な最適化手法を取ることができます。あなたがあるため、すべてのコードのために時間のかかる最適化技術の高されている場合は、コンパイル時には許容できないほど遅くなります。

けれども日クラシックの仮想マシンは、この種の問題を持っているが、それはまだ非常に強い生命力です。デフォルトの仮想マシンとなっているJDK 1.3、JDKに先立ち。1.3 JDK、HotSpotのデフォルトの仮想マシンでは、仮想マシンはバックアップとして存在します。1.4 JDKに、それは正式に歴史の舞台を終了します。日・クラシックは4年近くがまだあるということができますが、運別の仮想マシンがあまりよくないことがあります。

自然死を死ぬ:日は、VMを完全一致

正確なVMとクラシックVMと呼ばれる製品が遭遇したすべての問題を解決しようとする日クラシックのリリース後、Sunの仮想マシンは、JDK 1.2の仮想マシンで解放することができます。その実行システムは、クラシックVMインタプリタとコンパイラの問題を解決することはできません同時に仕事は、また、のような現代の高性能プロセッサの機能の数があります:2時のコンパイルなどを。

また、正確なVMにも道を見つけるためにターゲット仮想マシンを改善します。あなたがオブジェクトを検索したい場合はクラシックVMでは、あなたは(ポインタに類似)は、ハンドルに目を通す必要があります。あなたがオブジェクトを見つける必要がある場合は、そのハンドルツリーによって構築層を見つける必要があります。しかし、正確なVMのメモリ管理(正確なメモリ管理)の正確なタイプを使用して仮想マシンは、このように、見つけるの実行性能を向上させるためのコストを削減、特にどのようなタイプのメモリ内のデータのどこかを知ることができます。

しかし残念ながら、ExactVMがリリースしたが、それは、終了するまで、実際に大規模に使用されていません。そのJDK 1.2リリースでは、正確なVMは、デフォルトのJava仮想マシンとして起動、それでも日クラシックVM。場合はJDK 1.3リリースでは、デフォルトのHotSpot VMの仮想マシンと仮想マシンの導入、バックアップとして日クラシックVMの仮想マシン間。

マーシャル:日のHotSpot VM

HotSpot VMは、ほとんどすべてのJava仮想マシンのそれを知っている、最も広く使用されているJava仮想マシンであると言うことができます。しかし、実際には、これは、Sunのネイティブによって開発された仮想マシンではなく、ロングビューテクノロジーという会社が開発しました。JITコンパイルで、この仮想マシンで優れた業績のSunのに気づい数、ロングビューテクノロジーは、HotSpot VMのを得るために、1997年に同社を買収しました。

だけでなく、利点はそれ以前(のような:メモリ管理の正確なタイプ)2台の仮想マシンを述べたと言うホットスポット:ホットスポット検出技術、また、のような独自の新技術の多くを持っています。ホットスポット検出技術は、カウンタを実行することによって最も最適化された値を意味するコードを見つけ、その後、深さのコンパイラ最適化ユニットにメソッドJITコンパイラを通知します。しかし、実際には正確なVMはまた、Sunの内部に同様の技術を持っているので、また、大きな戦いがあったが、最終的な理由は不明であるデフォルトのHotSpot仮想マシンとして選びました。

全体的に、2000 JDK 1.3のリリース以降、デフォルトの仮想マシンとしてのHotSpot VMは、歴史の舞台を開始します。2018今まで、18年後、それは、SunのHotSpot VMの回復力を示し、それでも私たちの最も人気のある仮想マシンです。

花:BEA JRockitの/ IBM J9 VM

Sunは以前、紹介されている仮想マシンを言ったが、日に加えて、他の組織では、我々はまた、BEAのBEA JRockitのとIBM J9 VMを算出するために、最も顕著なのは、仮想マシンの実装の多くを開発しますA。

そのあまりにもプログラムが起動の速さを懸念していないので、BEAのJRockitは、たくさんの最適化のための仮想マシンのサーバハードウェアおよびサーバアプリケーションのシナリオに焦点を当て、サーバー側のシーンです。内部のJRockit仮想マシンが実現インタプリタ、実行時コンパイラコンパイラによってコードのいずれもが含まれていません。また、サービスのMissionControlスイートも非常に強いです提供します。

IBMのJ9 VMは、位置決めエンドデスクトップアプリケーションで使用し、サービスからの多目的仮想マシンを埋め込まれ、比較的共通の仮想マシンです。IBM J9 VMの目的で開発されたが、IBMのJava製品などの様々なプラットフォームを実行することです。

剣士:これらの無名の仮想マシン

日クラシック、日正確なVM、日のHotSpot VMから、その後、BEA JRockitの、IBM J9 VMに、これらの仮想マシンは、仮想マシンの公式な歴史、およびすべてのJavaプログラマが知るべきであるということができます。しかし、これでは、実際には、仮想マシンの多種多様な存在します。

例えば、それは、最も強力なのパフォーマンスは、仮想マシン上ではないと述べたが、アズールVMおよびBEA液体VMの仮想マシンと専用のビジネスと呼ばれます。これらの仮想マシンは、比較的高い必要、唯一の特定のハードウェアプラットフォームを実行します。しかし、その性能は非常に強力です。それは巨大なメモリ範囲内など、メモリおよびCPUリソースのGB数百の少なくとも数十の管理だけでなく、制御されたGC時間ガベージコレクタを提供することができます。

ようにApacheのハーモニー、GoogleのAndroidのDalvik VM、Mircosoft JVMと次のような存在する他の多くの仮想マシンは、もあります。

最終勝者:オラクル

ソウは、歴史的な非常に多く、仮想マシンの日の発表を言っているようだ、とOracleは関係していないようでした。しかし、2010年には、日、オラクルのOracleの買収は、このようなHotSpot VMのを持っています。JRocket VM、2008年に買収オラクル、BEAの会社の買収と相まって、地球の仮想マシン上で最高の2を持っています。

将来の計画仮想マシンの場合は、Oracle JRockitのの顕著な特徴は、このような移植のJRockitガベージコレクタとMissionControlサービスとして、HotSpot VMのに統合発表します。

付録:Java仮想マシンの歴史

JDKのバージョンアップのみの言語や機能に反映されていない、それはまた、コンパイラはJava仮想マシンをアップグレードし、実行しています。

  • 日クラシックVM:JDK 1.0リリースでは、Java仮想マシンの実装の実装の純粋な解釈を提供1996、で。
  • 1997年、JDK 1.1のリリースでは、仮想マシンがまだデフォルトの仮想マシンとして日クラシックVMを使用して、変更を行いません。
  • 1998年には、ときに、デフォルトのJava仮想マシンとして日クラシックVMとJDK 1.2のリリース、Solarisプラットフォーム上で正確なVMを実行している仮想マシンを提供していますが、この時はまだ。
  • 2000年には、JDK1.3のリリース、日クラシックVMからデフォルトのJava仮想マシンは、Sun HotSopt VMに変更し、日クラシックVMは、バックアップとして仮想マシンです。
  • 2002年には、JDK 1.4リリース、SunのクラシックVMの仮想マシンは、商業アリーナ、今までのデフォルトの仮想マシンとして日のHotSpot VMの直接の使用を終了します。

おすすめ

転載: www.cnblogs.com/dtdyq/p/11995350.html