私の質問はJavaコードを変更すると、ページが実行をリクエストし、サーバーがそれを自動的にバイトコードにコンパイルし、実行のためにjvmに送信します。変更されたコードを実行するために jvm を再起動する必要があるのはなぜですか?
Java には多くのホットデプロイメントソリューションがあります。 https://www.google.com/search...
ただし、ホット デプロイメントはパフォーマンスに影響を与えるため、実稼働環境では Java コードのデプロイメントの頻度は非常に低くなります。
そのため、ホットデプロイメントは通常、開発環境で有効になっています。
仮想マシンを頻繁にコンパイルすると、Jvm の実行メモリが占有され、GC に影響し、Web サイトのパフォーマンスが低下します
ホット デプロイメントの本質はクラスを置き換えることです。つまり、古いクラスをメモリから追い出し、新しいクラスを再ロードする必要があります。これにはクラスのアンロードが含まれます。クラスをアンロードするための条件の 1 つは次のとおりです。その ClassLoader はガベージ コレクションによって取得できます。一方、ClassLoader をリサイクルできない場合は、Java を再起動することしかできません。
Java には多くのホットデプロイメントソリューションがあります。 https://www.google.com/search...
ただし、ホット デプロイメントはパフォーマンスに影響を与えるため、実稼働環境では Java コードのデプロイメントの頻度は非常に低くなります。
そのため、ホットデプロイメントは通常、開発環境で有効になっています。
仮想マシンを頻繁にコンパイルすると、Jvm の実行メモリが占有され、GC に影響し、Web サイトのパフォーマンスが低下します
ホット デプロイメントの本質はクラスを置き換えることです。つまり、古いクラスをメモリから追い出し、新しいクラスを再ロードする必要があります。これにはクラスのアンロードが含まれます。クラスをアンロードするための条件の 1 つは次のとおりです。その ClassLoader はガベージ コレクションによって取得できます。一方、ClassLoader をリサイクルできない場合は、Java を再起動することしかできません。