WEB开发网
开发学院软件开发Java Java 中的 XML: 数据绑定,第 2 部分:性能 阅读

Java 中的 XML: 数据绑定,第 2 部分:性能

 2010-04-01 00:00:00 来源:WEB开发网   
核心提示: 映射绑定方法之所以能获得较高的内存效率,除了因为它更为广泛地使用了原语值外,Java 中的 XML: 数据绑定,第 2 部分:性能(8),另一个原因是生成代码方法通常会将控制信息添加到出现在每个绑定对象中的实际数据中去,该控制信息增加了对象的大小,我认为,研究这些框架在仅执行一次(single-

映射绑定方法之所以能获得较高的内存效率,除了因为它更为广泛地使用了原语值外,另一个原因是生成代码方法通常会将控制信息添加到出现在每个绑定对象中的实际数据中去。该控制信息增加了对象的大小,因而数据绑定少了一个主要优点。

在这些测试中,使用生成代码的数据绑定框架消耗的内存至少是映射绑定的几倍,但是(除 JBind 外)仍然比 dom4j 的文档模型表示小很多。这一点不足为奇 — 诸如 dom4j 的文档模型需要构造一些对象以表示文档的每个组件(包括实际的数据文本以及诸如元素和属性之类的结构组件),而数据绑定只需要保存实际的数据。对于生成代码绑定而言,许多实际数据仍然是作为 String 存储的,但是一些值可以被转换成 int ,而其它值可被转换成对象引用。

这里,Zeus 被认为是唯一直接将所有数据存储为 String 的数据绑定方法,这使它成为常用的数据绑定方法中占用内存最大的一种方法。到目前为止,JBind 的内存使用情况仍然较大。这有一部分是由于它在内部使用了文档模型,但是 JBind 使用的内存量要比单独使用文档模型(如 dom4j)所需的内存量大好几倍。从该内存使用情况判断,似乎 JBind 创建了许多其它对象,以建立绑定虚包(facade)和文档模型中实际数据之间的链接。

启动时间

图 1到 6说明了数据绑定框架在扩展的测试运行(代表了服务器环境)中执行结果如何。我认为,研究这些框架在仅执行一次(single-execution)环境(例如其中有一个应用程序正在使用数据绑定代码来读或写配置文件)中使用时的比较结果也很有趣。图 7 显示了结果。

图 7. 启动时间
Java 中的 XML: 数据绑定,第 2 部分:性能

上一页  3 4 5 6 7 8 9 10  下一页

Tags:Java XML 数据

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接