1
4
简单的回答是:在java中不能强制使用GC。有些人可能会贴出花招,但总的来说你根本做不到。 好吧,事实上你可以。有出口! |
2
3
简单而丑陋的答案是:
这不能保证特定对象的垃圾收集,但它会告诉VM努力执行常规垃圾收集。
具体来说,对于ThreadLocal变量,包含的变量实例在线程结束或ThreadLocal实例不再可访问之前不会被GC'd。因此,您需要终止关联的线程,或者放弃对ThreadLocal变量的引用,以便
然而,调用此函数的事实表明代码中存在更大的问题。如果你想摆脱一个对象,仅仅没有对它的引用就足够了。虚拟机稍后会来清理你的烂摊子。
|
3
2
您不能强制GC,在许多情况下,当您在容器中运行时,甚至调用System.GC()也没有帮助,因为JVM通常设置为-XX:+DisableExplicitGC。JVM将忽略显式调用。 |
4
1
这个 jlibs library has a good utility class for garbage collection . 你可以用一个漂亮的小技巧来强制垃圾回收 WeakReference 物体。
|
5
1
一个
假设没有人引用
但如果线程仍在运行,则此序列必须在
为了缓解垃圾收集速度慢的问题,可以调用
|