我正在尝试编辑一个类文件并使其在运行时可供 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!");
}
我想运行一个类的主要方法,当它运行时我想引用另一个类,编辑它,然后引用第二个类的相同方法并获得不同的输出。
我不想:
- 停止jvm
- 编辑代码
- 再次运行代码。
我想要
- 在运行时编辑代码,并立即反映更改。