我注意到 Java VM 按需加载类。
那么在一个大的项目中,如果我们对单个类进行修改并编译的话,会立即影响系统中当前运行的java进程吗?
假设我没有将输出存储在某些 JAR 文件中。
最佳答案
当你运行一个java项目,或者在javaee War应用程序中..Java作为加载所有类的类加载器,这就是JVM所做的。
http://en.wikipedia.org/wiki/Java_Classloader
因此,如果您想更改类,则必须重新启动应用程序或服务器。有一些框架可以“动态”上传 war ,如下所示:
http://zeroturnaround.com/software/jrebel/
但是如果这不是用于生产用途..只需重新启动您的应用程序:)
希望有帮助
关于java - 在大型项目中编译单个java类会影响当前正在运行的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23853092/