java - 在大型项目中编译单个java类会影响当前正在运行的应用程序

标签 java jvm

我注意到 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/

相关文章:

java - CentOS 6 中 JVM 的 CPU 使用率总是超过 100%

java - 为什么这个数组会不一致地越界?

java - Java中的整数缓存

java - JAX-RS 如何反序列化嵌入在公共(public)包装器对象中的 JSON 对象以及在没有包装器的情况下反序列化

java - JSR 303 : How to Validate a Collection of annotated objects?

java - 在Java中,PrintStream如何最终将文本打印到控制台?

java - 为什么 -XX :+UseCompressedOops not defaulted, 并不总是被使用?

java - 本地成员更快或实例成员

java - 有谁知道如何在 J2ME 上成功地使用预处理?

java - 当一个表与 hibernate 中的另一个表链接时更新该表中的列