序列化是将对象状态转换为可保持或传输的格式的过程。说白点就是你可以用对象输出流输出到文件。如果不序列化输出的话,很可能会乱。
java中的序列化机制能够将一个实例对象(只序列化对象的属性值,而不会去序列化什么所谓的方法。)的状态信息写入到一个字节流中使其可以通过socket进行传输、或者持久化到存储数据库或文件系统中;然后在需要的时候通过字节流中的信息来重构一个相同的对象。
一般而言,要使得一个类可以序列化,只需简单实现java.io.Serializable接口即可。
对象的序列化就是为了数据传输,在你的代码的里是对象格式,而在传输的时候不可能还保持这对象的样子。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为java对象。
1.概念
序列化:把java对象转换为字节序列的过程。
反序列化:把字节序列恢复为java对象的过程。
2.用途
对象的序列化主要有两种用途:
1)
把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2)
在网络上传送对象的字节序列。