0
得到的值我有一個類Normal
用下面的代碼:如何設置/從另一個JVM
public class Normal {
private static String myStr = "Not working...";
private static boolean running = true;
public static void main(String[] args) {
while(running) {
System.out.println(myStr);
}
}
}
而且我已經在另一個項目名爲Injector
另一個類。其目的是,即使他們並不在同一個JVM改變Normal
值:分別
public class Injector {
public static void main(String[] args) {
String PID = //Gets PID, which works fine
VirtualMachine vm = VirtualMachine.attach(PID);
/*
Set/Get field values for classes in vm?
*/
}
}
我想要做的就是更改類Normal
值myStr
和running
到"Working!"
和false
不改變代碼Normal
(僅在Injector
)。
在此先感謝
我想你讀過[的虛的的JavaDoc](https://docs.oracle.com/javase/8/docs/jdk/api/attach/spec/com/sun/tools/attach/ VirtualMachine.html)和那裏的例子。您的'Injector'現在可以將一個代理程序(一個已經編譯成單獨的.jar文件的程序)加載到附加的JVM中。 – Hulk
[儀器包的JavaDocs](https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html?is-external=true)包含很多有關代理人需要工作以及如何完成特定事情的信息。 – Hulk