Javaファイルtest.javaがあり、Eclipseを使用して実行し、処理に時間がかかる場合、どうしてtest.javaを変更し、同時に別のインスタンスを実行できるのでしょうか。test.classファイルが1つあるはずですが、Eclipseは実行中に古いファイルをキャッシュしているようですよね?
質問する
74 次
2 に答える
5
プログラムの実行中に、クラスファイルはクラスローダーによってメモリにすでにロードされています。したがって、VMは.classファイルを必要としなくなります。したがって、ファイルシステムで.classファイルが変更されても問題ありません。
于 2013-01-23T17:03:04.697 に答える
1
javaファイルtest.javaがあり、Eclipseを使用して実行し、処理に時間がかかる場合、どうしてtest.javaを変更し、同時に別のインスタンスを実行できるのでしょうか。test.classファイルが1つあるはずですが、eclipseは実行中に古いファイルをキャッシュしているようですよね?
自動プロジェクトビルドやホットコードデプロイメントをオフにしていない限り、これは一般的には当てはまりません。Eclipseのソースファイルに対する互換性のある変更は、クラスシグネチャ自体が変更されていない限り、同等のクラスをロードしたすべてのデバッグセッションに伝播されます。
しかし、はい、Eclipseの各デバッグセッションは、事実上、独自のクラスローダーを備えた独自のプロセスです。
于 2013-01-23T17:09:35.600 に答える