1
我在我的Java應用程序中運行線程,同時(真)循環與睡眠(50000)(5分鐘)裏面。這個線程在循環之前加載一個XML文件,因爲我需要在第一次迭代中解析它的一些信息。從內存中檢索SAXBuilder對象
//Loding XML File
org.jdom.Document document = null;
SAXBuilder sxb = new SAXBuilder();
try
{
document = sxb.build(new File("Configuration/Map.xml"));
}
catch(Exception e){}
org.jdom.Element racine = document.getRootElement();
//End loding XML File
從第二次迭代使用XML文件的概率減少了這麼多,因此保持在內存中的XML文件中有沒有意義(因爲文件中有103000行/3 MB)。所以我決定從內存中檢索它並在每次需要時加載它。 問題是,我找不到如何從內存中檢索文檔和racine對象,因爲Java會自動使用垃圾收集。 並告訴我,如果這是一個良好的做法,以獲得優化解決方案。
如果你想使你的對象進行垃圾回收,轉讓其引用變量設置爲null謝謝,正是**。** 但我不知道如果我的解決方案是一個很好的一個。 – 2012-03-29 12:48:46
這個解決方案可以在GC中工作。 GC將收集那些無法再訪問的對象。所以你使用你的文檔,sxb,racine等對象,並將它們設置爲null,一旦你完成了它們。使他們有資格被GC收集。 – amitp 2012-03-29 16:56:04