2012-11-26 7 views
6

JVMホットスワップとは何ですか?JVMホットスワップ

多くの定義では、この機能を使用すると、デバッグ中にコードをオンザフライで更新することができます。

ホットスワッピングなどのいくつかの制限は、メソッド本体だけを更新することに限定され、メソッドやフィールドをクラスに追加しようとすると成功しません。

誰もがこれをコードで説明できますか?

+0

通常、IDEからコードをデバッグ/実行している間は、そのコードをIDEから実行します。アプリケーションの再コンパイルや再起動をせずに、コードの一部を変更してホットスワップし、新しいコードで実行/デバッグを再開します。 – assylias

答えて

11

デバッグセッションの途中でコードを変更して、アプリケーションを再起動せずにすぐに変更を有効にすることができます。

これは、状況によっては非常に便利な機能です。しかし、実行中のアプリケーションにホットスワップできるコードの種類は、通常は制限されています。制限の正確な性質は、あなたのツールチェーンによって異なります。

+0

JRebelを使用しない場合、メソッドシグネチャを含むクラス構造の変更はホットスワップできません。基本的には、メソッドの本体を変更する場合にのみ動作します。 – Gimby

+1

これは、アプリケーションを再デプロイせずに特定のコード変更が有効になった場合、コードのその部分がホットスワップされたことを意味します。 –

+0

コードをコンパイルするか、ホット・ソーピング機能自体がコードとホット・スワップをコンパイルすると、ホット・スワップが発生します。 –

関連する問題