我有负责解析XML事件并将它们推送到我们的RabbitMQ总线的web应用程序的内存问题。这个web应用程序在一个servlet中接收XML事件,我们将它解码并推送到我们的总线,然后我们确认发件人。我们正在使用java 5中的org.xml.sax.helpers.DefaultHandler
,但看起来Stax(带有XMLStreamReader)好得多,仍然很容易阅读,但我们需要将我们的代码迁移到java6(请参阅SO上的this question)。它值得吗?在java中解析XML的内存效率最高的方法是什么?
在Java中解析XML的内存效率最高的方法是什么?我们正在寻找一个快速,高效的内存和易于编写/读取代码。这是否存在?
我无法相信一个SAX解析器造成内存问题。由于它的性质,SAX是基于流的,因此内存开销非常低。你在做什么像缓存整个文档在内存中? –
我们没有在内存中缓存文档,我们正在阅读流。代码很好,但现在我们收到了更多的事件,并且我们收到了更多... –