Welcome 微信登录

首页 / 软件开发 / JAVA / JAXB vs XStream

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

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

XStream:1.3.1

数据长度:

类型长度内容
XStraem351<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 JAXB589(已经去掉了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</ns 0:age><ns0:salary>20000.0</ns0:salary><ns0:sexy>F</ns0:se xy><ns0:isActive>false</ns0:isActive><ns0:address><ns0:st reet>Zhaojiabang</ns0:street><ns0:country>China</ns0:country> ;<ns0:city>Shanghai</ns0:city><ns0:doorNum>789</ns0:doorNum& gt;<ns0:empName>Afka liu</ns0:empName></ns0:address></ns0:employee>

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

类型序列化(ms)反序列化(ms)
XStraem90148135878
Toplink JAXB3487256557