我必须使用Dom生成一个文件Xml。
当调用(使用4gb)方法Marshaller.marshal(Object obj,Node dom)时,我收到有关内存不足的错误。
如果我尝试使用8gb生成DOM树,它就可以工作。
您是否知道是否存在分割marshaller执行然后合并的方法?
我不能使用Stax或Sax。
答案 0 :(得分:0)
唯一的方法就是分解你的对象树。分别编组那些部分部分,然后合并生成的字符串。您甚至可以手动执行XML文件的某些外层,并在生成文件时将生成的部分写出来,而不是将它们保存在内存中。
从根本上说,如果你的内存不足,那么你最好使用SAX而不是DOM。 SAX的一个主要优点就是减少了内存占用。