zoukankan      html  css  js  c++  java
  • JAXB和XStream比较

    这两东东本质上是有差别的,JAXB称为OX binding工具,XStream应该算序列化工具,但OX binding工具也会marshall和unmarshall,所以包含了序列化这一部分。序列化工具不一定需要提供binding的功能。既然都玩序列化,那就简单地比较一下它们两在序列化方面的强弱吧。

    JAXB:Toplink JAXB 10133,应该是JAXB 1.1标准 (取消了schema的validation功能)

    XStream:1.3.1

    数据长度:

    类型

    长度

    内容

    XStraem

    351

    <com.oocl.frm.ws.sample.Employee>

     <name>Liufei</name>

     <age>40</age>

     <address>

        <street>Zhaojiabang</street>

        <country>China</country>

        <city>Shanghai</city>

        <doorNum>789</doorNum>

        <empName>Afka liu</empName>

     </address>

     <salary>20000.0</salary>

     <isActive>false</isActive>

     <sexy>F</sexy>

    </com.oocl.frm.ws.sample.Employee>

    Toplink JAXB

    589(已经去掉了white space)

    <?xml version="1.0" encoding="UTF-8"?>

    <ns0:employee xsi:schemaLocation="http://www.oocl.com/frm/ws/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.oocl.com/frm/ws/jaxb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ns0:name>Liufei</ns0:name><ns0:age>40</ns0:age><ns0:salary>20000.0</ns0:salary><ns0:sexy>F</ns0:sexy><ns0:isActive>false</ns0:isActive><ns0:address><ns0:street>Zhaojiabang</ns0:street><ns0:country>China</ns0:country><ns0:city>Shanghai</ns0:city><ns0:doorNum>789</ns0:doorNum><ns0:empName>Afka liu</ns0:empName></ns0:address></ns0:employee>

    时间:序列化和反序列化1000000次。

    类型

    序列化(ms

    反序列化(ms

    XStraem

    90148

    135878

    Toplink JAXB

    34872

    56557

    结果对比:数据量XStream占优势,时间性能上Toplink Jaxb占明显优势

    总结(只从序列化功能角度看)

    JAXB: 优点

    • J2EE标准
    • 运行时间比XStream

    缺点

    • 用起来不方便:需要把手动的把business object转换成schema object,当然也可以直接将schema object作为business object,或者采用反射的方法。
    • 有一定的局限性:需要schema或者annotation
    • 数据量稍大

    XStream优点:

    • 用起来方便
    • 不需要schema,拿过来就转
    • 数据量稍小

    缺点:

    • 非标准
    • 时间性能差
  • 相关阅读:
    使用Windows Live Writer发布日志
    下雪
    Oracle中拼出树型结构
    [转载]Javascript中最常用的55个经典技巧
    博客访问者来自15个国家和地区
    [转载]一个帐号同一时间只能一个人登录
    换了博客的皮肤
    常见的开源软件许可
    java5中的Arrays
    青花瓷
  • 原文地址:https://www.cnblogs.com/tang9139/p/4825610.html
Copyright © 2011-2022 走看看