首页 > Java > java教程 > 如何将 JAR 文件重新加载或添加到正在运行的 Java 应用程序?

如何将 JAR 文件重新加载或添加到正在运行的 Java 应用程序?

Barbara Streisand
发布: 2024-12-06 04:10:09
原创
933 人浏览过

How Can I Reload or Add JAR Files to a Running Java Application?

在运行时重新加载和加载 JAR 文件

要使 Java 系统能够在运行时加载和重新加载类,请考虑以下事项:

重新加载现有的类

尝试重新加载现有类及其数据通常是不可取的,因为这可能会导致系统不稳定。

添加新类

将新类加载到单独的类加载器中是可行的选项:

ClassLoader loader = URLClassLoader.newInstance(new URL[] { yourURL }, getClass().getClassLoader());
Class<?> clazz = Class.forName("mypackage.MyClass", true, loader);
Class<? extends Runnable> runClass = clazz.asSubclass(Runnable.class);
Constructor<? extends Runnable> ctor = runClass.getConstructor();
Runnable doRun = ctor.newInstance();
登录后复制

类加载器垃圾回收

不再使用的类加载器可以由垃圾收集器回收,假设没有内存泄漏( ThreadLocal、JDBC 驱动程序等可能会发生这种情况)。

数据持久性

要在类重新加载时保留对象数据,请考虑序列化等持久性机制。

花哨的调试技巧

虽然调试系统提供了先进的能力,它们通常不太可靠且更难debug.

向现有类加载器添加类

虽然 URLClassLoader 允许添加新 URL,但如果类最初加载失败,它将永远不会在该类加载器中加载实例。

以上是如何将 JAR 文件重新加载或添加到正在运行的 Java 应用程序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板