我有一个程序需要大致定期运行,永远和永远。我找到了ScheduledExecutorService并注意到它的scheduleAtFixedRate()方法。 There's a simple tutorial here.
我的问题是,如果我的程序继续运行,因为它意味着(大约每60秒一次,直到时间结束)如果我使用上述方法,还有什么需要处理垃圾收集吗?我需要关闭线程等吗?我应该运行System.gc吗?我还习惯了Runnables。
目前我正在使用while循环和thread.sleep(60000)每60秒执行一次任务。但是这种方式没有垃圾回收,经过几天的运行后,我的程序占用了70%以上的服务器内存。
感谢您提供任何帮助。感谢您抽出时间帮我解决新手问题。这基本上是我Java旅程的第2年!
答案 0 :(得分:0)
无需采取任何行动。 GC将在需要时自动运行。