finalize作用

finalize作用转自 https blog csdn net a article details finalize 是 Object 中的方法 当垃圾回收器将要回收对象所占内存之前被调用 即当一个对象被虚拟机宣告死亡时会先调用它 finalize 方法 让此对象处理它生前的最后事情 这个对象可以趁这个时机挣脱死亡的命运 要明白这个问题 先看一下虚拟机是如何判断一个对象该死的 判定死亡 GCROOTS 定义 GC 管理的主要区域是 Java 堆 一般情况下只针对堆进行垃圾回收

转自:https://blog.csdn.net/a/article/details/

finalize()是Object中的方法,当垃圾回收器将要回收对象所占内存之前被调用,即当一个对象被虚拟机宣告死亡时会先调用它finalize()方法,让此对象处理它生前的最后事情(这个对象可以趁这个时机挣脱死亡的命运)。要明白这个问题,先看一下虚拟机是如何判断一个对象该死的。

 

判定死亡

“GC ROOTS”定义:GC管理的主要区域是Java堆,一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不被GC所管理,因而选择这些区域内的对象作为GC roots,被GC roots引用的对象不被GC回收。

“GC ROOTS”也可以看做是引用链的最顶级。

 

最后的救赎


需要注意:

 

finalize()的作用

综上:finalize()方法并没有什么鸟用。

至于为什么会存在这样一个鸡肋的方法:书中说“它不是C/C++中的析构函数,而是Java刚诞生时为了使C/C++程序员更容易接受它所做出的一个妥协”。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207317.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午2:05
下一篇 2026年3月19日 下午2:05


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号