读取XML并将DOM模型保留在内存中

时间:2014-02-17 14:56:09

标签: java xml jdom

由于JDOM detachRootElement的文档非常有限,我怀疑读取XML的最佳方法,并将dom树保留在内存中(如果只是为了只读目的)。

通常使用的是这样的:

public class .... {
   Element stored = null;

   private void load() {
    // Build the document with SAX and Xerces, no validation
    SAXBuilder builder = new SAXBuilder();
    // Create the document
    Document doc = builder.build(file);
    stored = doc.getRootElement();
   }
}

(这可能会引发异常,但为了清楚起见,我已将其留下了。)

知道stored是一个类变量,不清楚文档是保存在内存中还是可以在此之后进行垃圾回收。如果是,detachRootElement是否可能解决此问题?

1 个答案:

答案 0 :(得分:1)

java垃圾收集器不会影响任何使用过的引用。只要您对doc的内容有直接或间接的引用,它就不会受到垃圾回收的影响。