我一直在尝试使用Eclipse中的热门Java代码,但我不知道Eclipse中热插拔Java代码的限制和规则是什么,所以我的努力经常失败。如果有人能提供关于如何在Eclipse中热交换代码的相对详细的解释,或者将我链接到一个非常好的代码。
例如,如果我更改u
:
public class apples extends tuna {
public static void main(String[] args) throws InterruptedException {
while (true) {
ddop();
Thread.sleep(1000);
}
}
public static void ddop() {
int u = 3;
System.out.println(u);
}
}
但是这段代码没有:
public class apples extends tuna {
static int u;
public static void main(String[] args) throws InterruptedException {
int u = 3;
while (true) {
System.out.println(u);
Thread.sleep(1000);
}
}
}
有人可以提供解释原因吗?是的,我确实已经选中了“自动构建”标志,并且正在调试模式下运行。
答案 0 :(得分:1)
我不是100%肯定上面的例子,但一般来说规则是你不能改变类的接口。例如,添加矿石去除方法,更改方法签名,添加/删除静态字段等
答案 1 :(得分:1)
我认为,为了热交换方法的源,该方法必须在调用堆栈中。在第一个示例中,重复调用已更改的方法,而在第二个示例中,该方法被调用一次,然后才进行代码循环。如果代码在方法已经运行后更改,则该方法永远不会再次出现在调用堆栈中,并且无法获取代码更改。