この記事を読むと、各 Java アプリケーションが特定の Java 仮想マシン インスタンスで実行されることがわかります。したがって、次のコマンド ("Java -jar test1.jar","Java -jar test2.jar") を実行すると、システムに 2 つのプロセスが作成されます。各コマンドがデフォルトのヒープ サイズ (たとえば 256M.合計メモリ コストは 512M ですよね? 他にも質問があります:
- Java 仮想マシンはデーモン プロセスですか、システムで起動しますか?
- 「java -jar test1.jar」を実行すると、Java 仮想マシンのインスタンスが作成され、メイン関数が実行されます。実行中のすべての Java アプリケーションが Java 仮想マシンのサブスレッドまたはプロセスであるということですか?
- 実行中のJavaアプリケーションはそれぞれ個別で、他のアプリケーションはこの実行中のJavaアプリケーションから変数、メソッド、定数などを取得できませんか?
- 実行中の 1 つの Java アプリケーションがクラッシュした場合、実行中の他の Java アプリケーションに影響はありますか?
PS: 私はググって、たくさんの異なる答えを得ました。私は完全に混乱していました。この種の質問、またはJava仮想マシンのさらに深いところで私を助けることができる人. たとえば、仕組み。