费利克斯:
有没有一种类似于C free()
函数的释放Java内存的方法?还是将对象设置为null并依靠GC是唯一的选择?
丹尼尔·普赖登:
Java使用托管内存,因此分配内存的唯一方法是使用new
运算符,而释放内存的唯一方法是依靠垃圾回收器。
该内存管理白皮书(PDF)可能有助于解释发生了什么。
您还可以致电System.gc()
建议垃圾收集器立即运行。但是,Java Runtime做出最终决定,而不是您的代码。
根据Java文档,
调用gc方法表明,Java虚拟机将花费更多精力来回收未使用的对象,以使它们当前占用的内存可用于快速重用。当控制从方法调用返回时,Java虚拟机将尽最大努力从所有丢弃的对象中回收空间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
编辑于
我来说两句