JVM(D):仮想マシンは何ですか

我々は、すべてのWindowsシステムにインストールすることはできませんソフトウェアパッケージパッケージexeファイル接尾辞、およびApple社のMac OSXシステム上でこのパッケージであることを知っています。同様に、マックOSXのシステムソフトウェアのインストールパッケージにサフィックスDMGは、同じWindowsシステムにインストールすることはできません、です。

オペレーティングシステムの実装が同じではありませんので、なぜ異なるシステム上のソフトウェアは、インストールすることができません。Windowsシステムの場合は、exeファイルのサフィックスソフトウェアコードは、最終的には、Windowsのシステムによって認識されたマシンコードにコンパイルされます。およびMac OSXシステム、DMGソフトウェアコードの接尾辞は、最終的にはマックOSXシステムを識別できるコードにコンパイル。

システムソフトウェアは一般的ではありません共通の問題です。私は、学生は、Javaを知って使用しかし、Javaコードは、また、実行中のWindowsサーバ・システム(Linuxシステム)上で実行することができますすることができますが、我々は、異なるコードの複数のコピーを生成しませんでした。だから、Java言語は、それを行う方法ですか?

他の言語と異なり、Java言語コードを直接システムに関連したマシンコードに翻訳されていませんが、特定の言語仕様にコンパイルされ、我々はこのバイトコード言語仕様を呼び出します。あなたがWindowsでJavaプログラム、またはMac OSXシステム、またはLinuxシステムが必要かどうか、それは最初にあなたが実行する前に、バイトコードファイルにコンパイルする必要がありました。

しかし、たとえシステムがまだ各バイトコードファイルの内容を理解することはできません、この時間はあなたがJava仮想マシンの助けを必要とし、バイトコードファイルにコンパイル。Java仮想マシンのバイトコードは、ファイルの内容を解析し、各オペレーティングシステム用のマシンコードに翻訳理解することができます。

単純に、同じのためのJavaソース・ファイルを置く、我々はその後、バイトコードにコンパイルされ、それがLinuxシステムまたはWindowsシステムであるかどうかわかりません。今回は、Java仮想マシンは、WindowsシステムのWindows聞くためにマシンコードに翻訳され、Windowsシステム上で待機するようにLinuxのLinuxシステムにマシンコードにLinuxシステム上の翻訳者、翻訳者です。その結果、の偉大なビジョンの実現にJavaの「一度書けば、どこでも実行」インチ

Java仮想マシンに先立ち、それは別のシステム上のソフトウェアの実行をサポートするために、我々は特定のシステムに対応し、複数のプラットフォーム間でのコードの複数のコピーを記述する必要がありました。しかし、Java仮想マシンが表示された後、あなただけのバイトコードファイルにコンパイルする必要が、仮想マシンのバイトコードを使用すると、特定の仕様の書き込みコンパイラに合わせてコンパイラに対応するWindowsコードとMacのコードを生成するのに役立ちます。基本的に、最終的に2つのWindowsとMacのコードコードマシンコードを生成しますが、開発者のための、唯一のコードを記述する必要があります。ヘルプの開発者へのJava仮想マシンは、反復作業なので、高い開発効率を引き受けます。

誤解があるJava仮想マシン上の多くの初心者は、彼らがJavaコードを実行できるJava仮想マシンを感じるだろう。しかし、実際には、Java仮想マシンのバイトコードファイルを実行しています。あなたは、PHP言語でのコードの一部を書き、そして彼らは、特定のコンパイラを使用したバイトコードバイトコードファイルが仕様に準拠して生成することができます言い換えれば、Java仮想マシンも実行することができます。

名前は、Java仮想マシン、Java仮想マシンで、Java言語は何よりも、バイトコード命令を実行し、ファイルのみを読み込むための、Java仮想マシン仕様クラスに合わせて、何の直接的な関係を持っていない、とパースへの規定に従ってそうけれども。

あなたNiubiの十分な場合は、コンパイラを書くことができ、PHPの言語コードは、Java仮想マシン仕様にバイトコードファイルが準拠にコンパイルされ、Java仮想マシンも実行することができます。

むしろ、Java仮想マシンのバイトコードファイル(クラスファイル)結合。

最後に、私たちは最終的には仮想マシンの何であることを思い出してみましょうか?実際には、Java仮想マシンは、それがすべてで正常に実行するバイトコード・ファイル・システムを確保するために、各システムに対応した機械コードにバイトコードファイルを変換し、バイトコードインタプリタです。

おすすめ

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