Eclipse-Java-Hotswap无断点

Eclipse-Java-Hotswap无断点,java,eclipse,hotswap,Java,Eclipse,Hotswap,我有个问题。 是否可以在不使用断点的情况下使用热交换 当notch制作chambered()的前奏曲时,他使用了热插拔,而无需: -添加断点 -拯救 -删除断点 -恢复 在这段视频中,它的速度太快,看不到,但我找不到旧的 你有什么想法吗?eclipse选项、宏、插件 谢谢这取决于您的JVM,但是Eclipse中的热交换在Java 1.5时代对Sun的HotSpot JVM没有任何技巧。给你。您正在使用哪个JVM public class Test { private static int

我有个问题。 是否可以在不使用断点的情况下使用热交换

当notch制作chambered()的前奏曲时,他使用了热插拔,而无需: -添加断点 -拯救 -删除断点 -恢复 在这段视频中,它的速度太快,看不到,但我找不到旧的

你有什么想法吗?eclipse选项、宏、插件


谢谢

这取决于您的JVM,但是Eclipse中的热交换在Java 1.5时代对Sun的HotSpot JVM没有任何技巧。给你。您正在使用哪个JVM

public class Test {
    private static int ctr = 0;
    public static void main(String[] args) {
        while (true) {
            method();
            try {
                Thread.sleep(200);
            } catch (InterruptedException e) {
                System.err.println("Interrupted");
            }
        }
    }

    private static void method() {
        System.out.println(ctr);
    }
}

我改变了
System.out.println(ctr)
系统输出打印项次(ctr++),我的输出更改为递增顺序。

Java版本:1.6.0\u 30。我可以在使用断点时使用热交换。但是,如果在保存时代码正在运行,则不会进行修改。好的,是否在调试模式下运行?有关可能的解决方案,请参阅。是的,我在调试模式下运行,与您的链接问题不同,更改是应用的。测试你自己,你会看到的。创建一个项目、一个主方法和另一个方法。在第二种方法中,将输出消息放在无限循环中。然后调试它。如果您在邮件中进行了更改,但未保存任何内容,并且您的文件不再链接。因此,进行新的尝试,启动调试。在输出消息上添加断点,更改并保存。现在继续,一切都好了。但与notch调试应用程序相比,这一步太长了。哦,我似乎明白了重点。很可能JVM无法在没有断点的情况下热交换现有stackframes的代码(在这种情况下,受影响的帧将从堆栈中删除,条目调用将再次执行)。我添加了一个示例—它仅在调试模式下对我有效。谢谢!现在我明白了!