【发布时间】:2012-05-13 00:24:17
【问题描述】:
在我的程序中,我设置了一个函数,它使用ScheduledThreadPoolExecutor 在一定时间后调用另一个函数(在本示例中我们将其设置为 20 分钟)。
被调用的函数,我们会说是removeStat(Character char)。在该方法中,它引用了侧字符中的函数(我们会说char.getClient().getWriter())。我们假设在 20 分钟的等待期间,相关角色退出并且不再需要他们的 Character 实例。
Java 垃圾收集器会在那个时候删除 Character 类,导致 removeStat 中的 char 为空,还是知道等到调用完成?
【问题讨论】:
-
大声笑不确定这是否是讽刺,但无论哪种方式都欢迎你;)
-
@jmort253 - PuppyKevin 回去接受答案可能意味着它是真诚的。 :)
-
嗯,伙计们。这不是骗局。至少不是链接的问题。这有一个关于垃圾收集和可调用对象以及调度线程池执行程序的特定问题......链接的问题是关于 GC 的一般问题。
-
@David - 我确定。只是我从他的反应中得到了刺激。如果是讽刺的话,那就太棒了! :)
-
@vidstige - 如果您认为我们犯了错误,您可以尝试编辑问题以使其更清晰,并确保它与other questions about Java Garbage Collection 不同。有时会犯错误,问题在过早关闭或改进后重新打开。如果确实没有重复,您可以标记这个以重新打开。