2016-04-11 5 views
4

私はjavaを初めて利用しています。私はJava仮想マシンがJavaプログラムを実行するのに役立つ抽象的なマシンであることを知っています。ですから、JVMがEclipseのようなすべてのJavaソフトウェアに含まれているかどうかを知りたいですか?Java仮想マシンはすべてのJavaソフトウェアに含まれていますか?

+0

いいえ一部のプログラムはJVMを内部的に組み込んでいます(実際には、Apple App Storeにプログラムを入手するには、これを行う必要があります)が、そのすべてがそうであるとは限りません。 JVM上で既にインストールされている – MadProgrammer

答えて

5

通常はありません。 Javaは非常に多くのプログラムで使用されており、Javaソフトウェアの各部分には必要以上に多くのハード・ディスク・スペースが必要になり、新しいJVMインスタンスをそれぞれ1つずつロードする必要があります。また、セキュリティ上の欠陥が発見されるたびに、ソフトウェアのすべての部分を更新する必要があります。したがって、新しいコンピュータやOSのインストールを設定した直後にインストールされることがよくあります。

システム上にJavaが存在すると仮定せずに、ソフトウェアパッケージを開発することがあります。したがって、それはそれ自身を含むかもしれません。場合によっては、カスタマイズされたJVMが必要な場合もあります。

これが行われる主な理由は、Javaがによって何十億も使われているからであり、十億ではないにしても、デバイスの数はです。仮想マシンやランタイムが広く普及していない場合は、ユーザーにインストールするよう説得することができます。

静的ライブラリと動的ライブラリの概念に精通している場合は、同様の問題も同様に発生します。

3

あなたはすでにそれを知っている可能性があり、JVM

は、1つのソフトウェアではありません。所有者はその実装を持っていますが、他の人はさまざまな実用的および契約上の主張を満たしていればそれを作ることができます。

抽象的な仕様は、多数のプラットフォーム上に存在し、多くのベンダーから提供されるコンクリート実装であり、ソフトウェアまたはハードウェアとソフトウェアの組み合わせであり、実行時インスタンスは単一実行Javaアプリケーションをホストします。

JVMは、厳密外部行動(サブシステム、メモリ領域、データ・タイプ、および命令)抽象内部アーキテクチャに記載されている実装のを定義する方法を提供することが多いです。

要約JVMはハードウェアとソフトウェアの組み合わせですが、すべてのJavaパッケージが含まれているわけではありませんが、Javaソースコードについても理解できません。

関連する問題