我所处的场景是通过入口点定义的 API(例如“OSGi”)在特定的类加载器中启动应用程序。并且我做了具体的方法比如:start
和stop
。启动的应用程序位于名为 applications
的数组中。
如果我想结束应用程序,我会调用它的 stop
方法。然而,假设该应用程序是恶意的并且它不清理它的类/资源,我如何强制它被垃圾收集???
如果我在主应用程序上做一个简单的applications[i] = null;
,它会强制那个没有清理任何资源的恶意应用程序被垃圾收集吗???
最佳答案
如果对应用程序的唯一引用保存在 applications[i] 中,那么这将是必需的。但是无法预测下一个 GC 周期。因此应用程序的生命周期可能比预期的要长
关于java - 如何验证/强制类被垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4873903/