黑马程序员技术交流社区
标题:
finalize的疑问
[打印本页]
作者:
Oh_JAVA
时间:
2016-7-26 10:59
标题:
finalize的疑问
finalize()方法中可以把自己传递个别的对象,这样就不是垃圾了,避免了被回收。但是当下次这个对象又符合垃圾回收的时候,finalize()方法不会被调用第二次了,而是直接被清理掉了。
这句话不太理解,为什么finalize()方法不会调用第二次,对象生命周期在第五步收集阶段会调用finalize,在此时若是有引用重新持有该对象,那么他不是“复活”了吗?难道还是接下去执行到死亡,复活的话不是又会经历一次finalize?不清楚这流程,Why?
作者:
cat73
时间:
2016-7-26 12:31
我个人的看法,永远不要用这个方法,最好就当成这货在 Java 里不存在就可以了。
作者:
Oh_JAVA
时间:
2016-7-26 12:37
cat73 发表于 2016-7-26 12:31
我个人的看法,永远不要用这个方法,最好就当成这货在 Java 里不存在就可以了。 ...
好吧,但是就是想对这些了解下,因为我看有些面试笔试会考finalize和finally,这些区别什么的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2