我处于通过入口点定义的API(例如“ OSGi”)在特定的Classloader中启动应用程序的情况。我已经制定了特定的方法,例如:startstop。启动的应用程序位于名为applications的数组中。

如果要结束该应用程序,则可以调用它的stop方法。但是,假设该应用程序是恶意软件,并且无法清除其类/资源,那么我该如何强制将其垃圾回收?

如果我在主应用程序上执行简单的applications[i] = null;,是否会迫使未清除任何资源的恶意应用程序被垃圾回收???

最佳答案

如果对应用程序的唯一引用保存在应用程序[i]中,则将需要它。但是无法预测下一个GC周期。因此,应用程序的寿命可能比预期的更长

09-11 18:03