- 什么是序列化
将人类语言翻译为计算机存储的语言的过程就是序列化,反之则为反序列化。
翻译的过程就是序列化
- 序列化的目的是什么
计算机内部传递文件,数据和信息的过程就是序列化、发送、反序列化的过程。
现实世界中你发送的消息、文件最终都是以机器语言也就是二进制码发送给另外一台电脑然后再反序列化后完成的,这便是网络传输的意义所在。与之对应的另外一种场景,本地存储也是需要序列化的。
Note:凡是离开内存的信息都是需要进行序列化的。
- java中如何实现序列化
java中的序列化更加具象。
指的是JVM内存中的java对象数据,通过某种方式存储到磁盘文件中或者传递给其他网络节点。即将对象转化为二进制,用于保存,或者网络传输。当你使用 FileOutPutStream将对象存储或者读取时,如果不实现序列化接口的结果就是java.io.NotSerializableException。
- 什么时候需要序列化?
- 把内存中的对象保存到一个文件中或者数据库中时候;
- 用套接字在网络上传送对象的时候;
- 通过RMI传输对象的时候