无论是何种类型的数据,最终都需要转换成二进制流在网络上进行传输,那么在面向对象程序设计中,如何将一个定义好的对象传输到远端呢?数据的发送方需要将对象转换成为二进制流,才能在网络上进行传输,而数据的接收方则需要把二进制流再恢复为对象。
将对象转换为二进制流的过程称为对象的序列化。
将二进制流恢复为对象的过程称为对象的反序列化。
Hessian的效率比Java本身内置的序列化方式的效率要高很多。Java内置的序列化方式不需要引入第三方包,使用简单,在对效率要求不是很敏感的场景下,也未尝不是一个好的选择。而后面章节要介绍的XML和JSON格式,在互联网领域,尤其是现在流行的移动互联网领域,得益于其跨平台的特性,得到了极为广泛的应用。
本节重点介绍Java内置的序列化方法和基于Java的Hessian序列化方法,并用代码演示具体实施方法。
项目的目录结构如下:
以下是Java内置的序列化方式所实现的对象序列化和反序列化的关键代码:
package com.bjsxt.demo;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
i