1、定义
序列化:把Java对象转换为字节序列的过程。
- 序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。
为什么要把Java对象序列化呢?
因为序列化后可以把byte[]保存到文件中,或者把byte[]通过网络传输到远程,相当于把Java对象存储到文件或者通过网络传输出去了。
反序列化:把字节序列恢复为Java对象的过程。
- 反序列化,把一个二进制内容(byte[]数组)变回Java对象。
反序列化,把保存到文件中的byte[]数组变回Java对象,或者将从网络上读取byte[]并把它变回Java对象。
2、优点
序列化:
1.方便传输,速度快,安全,调用序列化,常用于不同进程之间的对象传输
2.方便存储,可以存储成文件或是数据库,如果存储为文件,下回用的时候可以直接反序列拿到对象。
3、用途
主要有两种用途:
- 持久化对象(将对象的字节序列保存到硬盘上)
- 网络传输对象。(传输对象的字节序列)
4、使用
实现序列化,要实现两个接口其中一个:
- Serializable 接口
- Externalizable 接口