Eclipse如何管理不同的运行Java类

时间:2013-01-23 17:00:34

标签: java eclipse

如果我有一个Java文件test.java,并使用Eclipse运行它并且需要很长时间来处理,为什么我能够修改test.java并同时运行它的另一个实例?应该有一个test.class文件,但Eclipse似乎在运行时缓存旧文件,对吧?

2 个答案:

答案 0 :(得分:5)

程序运行时,类文件已经由类加载器加载到内存中。因此,VM不再需要.class文件。如果.class文件在文件系统上发生变化,那就没问题了。

答案 1 :(得分:1)

  

如果我有一个java文件test.java,并使用eclipse运行它   需要很长时间才能处理,为什么我能够修改test.java   并同时运行它的另一个实例?应该有一个   test.class文件,但是eclipse似乎在运行时缓存旧的,   正确?

除非您关闭了自动项目构建和/或热门代码部署,否则这通常不是 。除非更改了类签名本身,否则Eclipse中对源文件的兼容更改将传播到已加载等效类的任何调试会话。

但是,是的,Eclipse中的每个调试会话实际上都是它自己的进程,有自己的类加载器。