Jac*_*cob 9 java garbage-collection
可能重复:
强制Java中的垃圾收集?
我可以用Java强制垃圾收集吗?
System.gc()只是一个建议.它没用.
当我确定不再使用某些资源时,为什么我不能强行清理它们呢?
就像C++中的delete()和C中的free()一样?
当有很多资源无法重用时,这可能真的很糟糕.我们所能做的就是sleep().
任何解决方案?谢谢
Mic*_*ael 12
不,System.gc()尽可能接近.Java不是C或C++,JVM为您管理内存,因此您没有那种细粒度的控件.如果您将不再使用的对象设置为null或松散所有引用,它们将被清除.GC很聪明,所以它应该好好照顾你.
也就是说,如果你在一个unix盒子上,并强制进行一个线程转储(kill -3),它将非常强制垃圾收集.
你不应该试图强制GC - 如果你的内存不足,那么你的内存就会泄漏.在此时强制GC将无济于事,因为如果您持有对象的引用,那么它仍然不会被垃圾回收.
你需要做的是解决真正的问题,并确保你没有持有对你不再使用的对象的引用.
一些常见的罪魁祸首:
| 归档时间: |
|
| 查看次数: |
27103 次 |
| 最近记录: |