赞
踩
个人理解,Java 的序列化和反序列化,是指可以把 java 对象持久化后,又可以重新从持久化的数据中生成 java 对象。
下面是这些年遇到的一些序列化和反序列化方式。
1. JDK 自带的流序列化和反序列化:
java.io.ObjectOutputStream 可以把 java 对象序列化。
java.io.ObjectInputStream 可以把持久化后的数据反序列化成 java 对象。
PS: 用这种方式实现序列化的 java 对象必须实现 java.io.Serializable 或 java.io.Externalizable接口
2. JDK 自带的 jaxb 方式:
jaxb可以实现通过定义 schema 来实现 java对象和xml数据之间的转换,这种方式在SOAP中很普及。
3. JSON:
JSON 数据传输格式使用越来越普及,现在流行的FastJSON,JackJSON,Gson 都可以轻松的将 java对象转换成 json格式的字符串。
4. protobuf:
protobuf 是将数据序列化成二进制的数据,而 json 是序列化成字符串数据,相比而言 protobuf 序列化后的数据更小,至于性能方面,后续再来个benchmark。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。