gpt4 book ai didi

java - 垃圾收集器监听器

转载 作者:行者123 更新时间:2023-11-29 05:29:35 24 4
gpt4 key购买 nike

我曾在某个时候读过一篇小文章,内容是向 WeakReference 对象添加一些回调,这些回调将在垃圾回收时触发。现在,无论我搜索多少,我都找不到它。

我需要一种方法来在弱引用对象被销毁时执行一些代码。我知道这是可以做到的,我只是不记得我如何或是否需要 WeakReference 或其他类似 WeakHasMap 的东西?

最佳答案

使用ReferenceQueue是为了实现这一点。你可能想看看 PhantomReference s 也取决于您实际尝试做什么(但是 WeakReference 也适用于队列)。只需创建一个引用队列并将其作为第二个参数传递给引用构造函数。当 GC 删除该对象时,该引用将入队,您可以在队列中使用 remove()(阻塞)或 poll()(非阻塞)获取它。

还有一个替代方案:实现finalize .但是它的灵 active 要差得多,并且也在另一个线程中运行(因此您仍然具有并发性-甚至不知道哪个线程将执行它)。 ReferenceQueue 在各个方面都非常出色。

关于java - 垃圾收集器监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21591822/

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