将新代码加载到正在运行的 Java 系统中
重新加载类
使用以下命令重新加载现有类现有数据可能会导致系统不稳定。相反,请考虑使用以下方法:
加载新的 JAR 文件
要将新的 JAR 文件加载到正在运行的 Java 系统中:
未使用的类加载器的垃圾收集
类如果没有内存泄漏,不再使用的加载器将被垃圾收集。内存泄漏的常见来源包括 ThreadLocal、JDBC 驱动程序和 java.beans。
保留对象数据
如果您需要在类重新加载时保留对象数据,请考虑使用像序列化这样的持久化机制。
向现有类添加新类加载器
虽然可以使用 URLClassLoader.addURL 将新类添加到现有类加载器,但请注意,如果在此过程中类加载失败,它将无法在该类中加载加载器实例。
以上是如何在运行的系统中动态加载和重新加载 Java 类和 JAR 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!