Serivalizable 接口

深坑

Serializable接口是一个对象序列化的接口,一个类只有实现了 Serializble接口,它的对象才是可序列化的,因此如果要序列化某些类的对象,该类类就必须实现 Serializble 接口,而实际上 Serializable 是一个空接口,没有实名具体内容,它的目的只是简单标识一个类的对象可以被序列化。

什么是序列化?

将对象的状态信息转换为可以储存或传输形式的过程,在序列化期间,对象将其当前状态写入到临时储存区或持久性储存区,之后便可以通过从储存区中读取或反序列化对象的状态信息,来重新创建该对象。

什么情况下需要序列化?

实现 serializable接口的作用就是可以把对象存到字节流,然后可以恢复。所以你想如果你的对象没实现序列化怎么才能进行网络传输呐,要网络传输就的转字节流,所以在分布式应用中,你就得实现序列化,如果你不需要分布式应用,那就没必要实现序列化。
比如:

  • 当你想把内存中的对象写入到硬盘时候;
  • 当你想在网络上传送对象的时候;
  • 当你想通过RMI传输对象的时候;