【发布时间】:2009-04-20 17:51:08
【问题描述】:
关于 GCing 理论的快速问题。我有以下方法。它运行并退出该方法。为什么GC运行后,计时器仍然存在并保持“滴答”?我不相信在这个方法存在之后仍然有对 timer 或 timertask 的引用,所以我希望计时器被 GCed 并导致异常。请帮助我理解这个概念。
谢谢, jbu
private void startTimer()
{
Timer timer= new Timer();
TimerTask timerTask= new TimerTask()
{
@Override
public void run()
{
System.out.println("TICK");
}
};
timer.scheduleAtFixedRate(timerTask,
0,
500);
}
【问题讨论】:
-
如果它真的消失了不是很可怕吗?这将使几乎所有的多任务处理变得更加困难。