使用Transformer编写xml文件(JAVA)时的内存使用情况

使用Transformer编写xml文件(JAVA)时的内存使用情况,java,xml-serialization,Java,Xml Serialization,我的应用程序运行在32位JVM中,内存消耗很高。它正在Windows上运行 我使用Transformer类将文档写入一个文件,与这里的解释非常相似: 似乎在调用transform方法时,内存使用量急剧增加(>100MB)。只有在尝试编写包含亚洲字符(UTF8)的文档时才会发生这种情况。文档是DOM库设计用于处理内存中的所有内容。您可以使用一种更具Stax/Streaming特性的方法,即在处理数据时写入磁盘。这可以使用更少的内存,例如

我的应用程序运行在32位JVM中,内存消耗很高。它正在Windows上运行

我使用Transformer类将文档写入一个文件,与这里的解释非常相似:


似乎在调用transform方法时,内存使用量急剧增加(>100MB)。只有在尝试编写包含亚洲字符(UTF8)的文档时才会发生这种情况。文档是DOM库设计用于处理内存中的所有内容。您可以使用一种更具Stax/Streaming特性的方法,即在处理数据时写入磁盘。这可以使用更少的内存,例如<1 MB。@Peter-问题是文档非常小(可能它在第一次加载时会产生大量的垃圾。我不相信这些类会保留所有的内存。@Saar你能发布你的代码吗?也许这会让问题变得更清楚。你是对的,如果XML文档只有100KB,那么程序就不应该抛出内存不足的错误。DOM加载是真的整个XML文档都在内存中,但是100KB的XML文件不应该占用那么多内存。