序列化(serialization) 是一把个对象的状态写入字节流的过程。当你想把你的程序写到一个固定的存储区域,例如文件。
反序列化就序列化的逆向过程。
1.一个类想要实现序列化需要 implements java.io.Serializable接口
这个类没有任何实现的method。是个标示性接口(Marker Interface)当一个类实现了Serializable,这个类就可以序列化
2.反序列化就是把文件读入内存。
3.静态成员变量不能被序列化,因为静态成员变量是类本身的,不是对象拥有的。成员方法也是同样的道理,不可被序列化。
4.对象的成员变量也是一个对象的一部分,所以对象的数据也会被保存。
5。如果一个可序列化对象包含不可序列化对象的引用,那么序列化操作就会失败,并且抛出 NotSerializableException
6. 成员变量用 transient 标识 则不会被序列化。