我正在阅读有关finalize()方法的内容并且很好奇:
在finalize中清理对象(将它们设置为NULL)和从内存中删除对象的任务有什么区别?
ste*_*ert 10
在finialize中清理对象(将它们设置为NULL)的任务之间有什么区别
设置为null将删除对该对象的ONE引用.如果不存在对对象的更多引用,则允许(不要求)垃圾收集器移除该对象
并从内存中删除对象?
在java中没有明确的方法来删除(销毁,删除)一个对象.垃圾收集器会在他喜欢的时候做.特别是从删除最后一个引用到删除/销毁对象的时间是不确定的
有否需要设置引用空的finalize方法.当垃圾收集器调用完成对象时,无论如何它的引用都会很快消失.
在我很长的java体验中,我从未编写过自己的finalize方法.
如果您的对象正在处理os资源,则会出现编写自己的finalize方法有意义的罕见场合.但是,通常您使用标准包进行操作系统访问
| 归档时间: |
|
| 查看次数: |
9192 次 |
| 最近记录: |