从内存中检索SAXBuilder对象

时间:2012-03-29 11:57:35

标签: java memory garbage-collection sax jdom

我的Java应用程序中有一个运行 while(True)循环的线程,内部有 sleep(50000)(5分钟)。这个线程在循环之前加载一个XML文件,因为我需要在第一次迭代中解析它的一些信息。

     //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文件保留在内存中是没有意义的(因为文件 103,000行 / 3 MB < /强>)。所以我决定从内存中检索它并在每次需要时加载它。 问题是我无法找到如何从内存中检索文档 racine 对象,因为Java会自动使用垃圾收集。 并告诉我,这是一个很好的做法,以获得优化解决方案。

1 个答案:

答案 0 :(得分:1)

如果您只希望对象被垃圾收集,那么我认为使变量Null可以做到。

document = null; 
sxb = null;
racine = null;