我创建的服务将不断运行,每天在指定的时间运行程序的主体。Java内存泄漏
本质:
while(true){
run();
Thread.sleep(day);
}
一段时间后,我越来越OutOfMemoryHeapExceptions。 在阅读了这篇文章之后,我想到了它,因为run()方法内创建的任何对象都不会被垃圾收集。
所以我做一样的东西:
public void run(){
Object a = new Object();
a.doSomething();
a= null; //Wasn't here before
}
我的问题是,这将解决我的问题?我的印象是,一旦对象为空,它以前引用的对象将被垃圾收集?这是一个好主意吗?或者我应该看看做别的事情?
谢谢
东西没有人回答指出运行内存,虽然它是一个微弱的可能性:你可能已经打在VM或GC的错误。这不太可能,但并非不可能。 – Romain 2011-12-15 12:10:06