1

我正在对主要由 Web 服务组成的 Java 应用程序进行分析。结果表明,大部分时间都花在了转换 XML 上。

我目前正在使用 XStream(版本 1.3.1)进行转换。如果我升级版本会获得更好的性能吗?或者还有什么我可以使用的东西可以给我更好的性能(比如 JAXB)?

4

2 回答 2

2

最终,您将需要创建一个适合您的用例的基准,以确定哪个 XML 绑定库最适合您的用例。有太多的因素可以宣布最终的赢家(即,一个可能非常快,直到它达到继承层次结构,一个处理继承的速度超快但在集合上放慢了速度)。

在一个框架内,通常处理 StAX 或流比处理 DOM 更快,所以如果你能以这种方式定位你的代码,你会更好。此外,绑定框架通常利用较低级别的解析器,因此将 JAXB 与 Woodstox 结合使用可能会提高您的性能。

JAXB 和性能

表示已处理的JAXBContext元数据,并且此类是线程安全的。如果您创建一次并重复使用它,您将看到性能优势。

于 2013-01-29T12:30:38.940 回答
0

有一个 marshaller 是专为性能而设计的,同时又符合 mashaller 一词。. . (而 Xstream 是一个序列化程序,因为它按约定输出,并且您无法调整通过使用例如映射文件生成的 XML。并不是我反对 XStream)。.

高性能编组器是几年前在新西兰惠灵顿启动的。. . 并且被称为JIBX。这是网站:http: //jibx.sourceforge.net/

它是 Spring Framework 明确支持的编组器之一。

于 2013-01-29T12:13:46.500 回答