gpt4 book ai didi

java - Finalize() 清理与垃圾收集器从内存中删除对象

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:41:13 27 4
gpt4 key购买 nike

我正在阅读 finalize() 方法并且很好奇:

finalize 中清理对象(将它们设置为 NULL)和从内存中删除对象之间的区别是什么?

最佳答案

What is the difference between the task of cleaning up objects ( setting them to NULL ) in finialize

设置为 null 会删除对该对象的 ONE 引用。如果 NO 存在对对象的更多引用,则允许(不需要)垃圾收集器删除该对象

and removing an object from memory?

java 中没有明确的方法来移除(销毁、删除)一个对象。垃圾收集器会在他喜欢的时候做。特别是从移除最后一个引用到移除/销毁对象的时间是不确定的

NO 需要在 finalize 方法中将引用设置为 null。当垃圾收集器调用 finalize 时,对象及其引用很快就会消失。

在我很长的 Java 经验中,我从未编写过自己的 finalize 方法。

如果您的对象正在处理 os-resources,则很少会出现编写自己的 finalize 方法的情况。但是,通常您使用标准包进行操作系统访问

关于java - Finalize() 清理与垃圾收集器从内存中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11065702/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com