我創建的服務將不斷運行,每天在指定的時間運行程序的主體。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