2012-02-27 40 views

回答

1

取決於你的JVM,但熱插拔在Eclipse Java 1.5中的次工作對我來說,沒有技巧在Sun的HotSpot JVM回來。這裏是a related Sun's bug。你使用哪種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);System.out.println(ctr++);,和我的輸出改變爲遞增序列。

+0

Java版本:1.6.0_30。當我使用斷點時,我可以使用熱切換。但是,如果代碼在我保存時運行,那麼我的修改不會被採用。 – yohannc 2012-02-27 14:47:01

+0

好的,你在Debug模式下運行嗎?參見[這太問題](http://stackoverflow.com/questions/2673554/hot-code-replace-not-working-eclipse-doesnt-change-any-code-on-jboss)爲可能的解決方案。 – 2012-02-27 15:55:35

+0

是的,我運行在調試模式下,不像你的鏈接問題,應用了更改。測試自己,你會看到。創建一個項目,一個主要方法和另一個方法。在第二種方法中,放置一個由無限循環包圍的輸出消息。然後調試它。如果您對郵件進行了更改,並保存了任何內容,並且您的文件不再鏈接。因此,做一個新的嘗試,啓動調試。在輸出消息上添加一個斷點,將其更改並保存。現在恢復,沒關係。但是在調試他的應用程序時,這與步驟相比太多了。 – yohannc 2012-02-27 16:40:37