Serializable接口:
【一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才能被序列化】
一、什么是序列化?
【将对象的状态信息转换为可以存储或传输的形式的过程就是序列化】
【在序列化期间,对象将其当前状态写入到临时存储区或持久性存储区,可以通过从存储区中读取或反序列化对象的状态信息,来重新创建该对象】
序列化是将数据分解成字节流,以便存储在文件中或者在网络上传输。
反序列就是打开字节流并重构对象。
二、什么情况下需要序列化?
【需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化】
三、Serializable主要用来支持两种主要的特性:
- Java的RMI(remote method invocation),RMI允许像在本机上一样操作远程机器上的对象,当发送消息给远程对象时,就需要用到序列化机制来发送参数和接受返回值。
- Java的JavaBean,Bean的状态信息通常是在设计时配置的,Bean的状态信息必须被保存下来,以便当程序运行时能恢复这些状态信息,这也需要序Serializable机制。只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。