0
由於JDOM detachRootElement
的文檔非常有限,我懷疑讀取XML並將dom樹保留在內存中的最佳方式(如果是隻讀的)。讀取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
是一個類變量,目前還不清楚doc是保存在內存中還是可以在此之後進行垃圾回收。如果是這樣,是detachRootElement
一個可能的解決方案呢?
嗨史蒂芬,對不起,只是檢查了一句:如果你持有obj的「文檔」,那麼你是如何期待它的引用元素(根元素)類變量被GC'ed? http://www.javadocexamples.com/org/jdom/org.jdom.Document-source.html – theMarceloR
我沒有妨礙到文檔的參考,僅存儲,因此我的問題,如果文檔將被垃圾收集。所以,我猜GC上的文檔只有當我從文檔中分離元素時纔有可能? –