我使用 JAXB 进行 xml 解析,是否存在任何性能或内存利用率问题?
需要注意的一件事是JAXBContext.newInstance()
是一个非常慢的操作。这是发生大量反射和类生成的地方,导致 duffymo 提到的烫发空间问题。值得庆幸的是,JAXBContext
是线程安全的,所以可以缓存一个并重复使用 https://jaxb.dev.java.net/guide/Performance_and_thread_safety.html。否则,我认为可以肯定地说,JAXB 内存使用量将与完整 DOM 持平(或可能更少),当然,也高于 SAX。
如果您有非常大的文档,可以使用 JAXB 分块处理它们 https://jaxb.dev.java.net/guide/Dealing_with_large_documents.html#Processing_a_document_by_chunk. The JAXB RI 分布 https://jaxb.dev.java.net/servlets/ProjectDocumentList包括使用 JAXB 进行流传输的示例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)