在无休止的任务上使用ScheduledExecutorService时如何执行垃圾回收?

时间:2016-02-29 20:37:37

标签: java garbage-collection runnable scheduledexecutorservice

我有一个程序需要大致定期运行,永远和永远。我找到了ScheduledExecutorService并注意到它的scheduleAtFixedRate()方法。 There's a simple tutorial here.

我的问题是,如果我的程序继续运行,因为它意味着(大约每60秒一次,直到时间结束)如果我使用上述方法,还有什么需要处理垃圾收集吗?我需要关闭线程等吗?我应该运行System.gc吗?我还习惯了Runnables。

目前我正在使用while循环和thread.sleep(60000)每60秒执行一次任务。但是这种方式没有垃圾回收,经过几天的运行后,我的程序占用了70%以上的服务器内存。

感谢您提供任何帮助。感谢您抽出时间帮我解决新手问题。这基本上是我Java旅程的第2年!

1 个答案:

答案 0 :(得分:0)

无需采取任何行动。 GC将在需要时自动运行。