クラス ファイルを編集して、実行時に JVM で使用できるようにしようとしています。それは可能ですか、どうすればできますか?
例えば:
main() {
for (int i=0;i<10;i++) {
NewClass.method();
//ask user if to continue..
}
}
public class NewClass() {
static void method() {
sysout("hi");
}
}
このループが実行されているときに、ファイル NewClass() を変更して JVM にロードし、「さようなら」を出力したいと考えています。
完全なコードは次のとおりです。
try {
for (int iCount = 0; iCount < 10; iCount++) {
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
System.out.print("Enter which method:");
int i = Integer.parseInt(br.readLine());
System.out.println(i);
if (i == 1) {
Called.calledMethod1();
} else {
Called.calledMethod2();
}
}
} catch (NumberFormatException nfe) {
System.err.println("Invalid Format!");
}
あるクラスのメイン メソッドを実行したいのですが、実行中に別のクラスを参照して編集し、2 番目のクラスの同じメソッドを参照して別の出力を得たいと考えています。
私はしたくない:
- jvmを停止します
- コードを編集する
- コードを再度実行します。
したい
- 実行時にコードを編集し、変更をすぐに反映させます。