gpt4 book ai didi

java - 如何实现对象的有保证的终结行为

转载 作者:行者123 更新时间:2023-12-01 15:37:56 25 4
gpt4 key购买 nike

我想在对象上实现类似于 Java 语言中有保证的 Finalize() 的行为。我希望在垃圾收集发生之前执行一些语句。请注意,finally block 在这里没有用,因为finally 就在try block 之后运行,这不是我的要求。基本上我想在对象从 JVM 堆中卸载之前对其进行序列化。请指教。

最佳答案

没有办法实现无论如何都会执行的finalize()方法,因为JVM不能保证调用它。例如,程序退出时留在堆上的对象可能永远不会调用其 finalize() 方法,具体取决于当前的 JVM。

通常不建议使用finalize()来释放除内存之外的任何资源,更不用说除了释放资源之外执行任何其他操作。如果您想序列化对象,请尝试选择不同的时间点。

有一个good article总结了您需要了解的关于终结器的几乎所有内容。

关于java - 如何实现对象的有保证的终结行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8579478/

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