https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html
序列化一个对象,意味着把这个对象的状态转化为字节流,而且个字节流可以被恢复为这个对象的一个副本。
如果一个Java对象的所属类或者其任意一个父类实现了接口 java.io.Serializable 或者它的子类 java.io.Externalizable,那么我们称这个对象是可序列化的。
反序列化是将对象的序列化形式转换回对象的一个副本的过程。
可以把一个对象的序列化状态存储成一个文件,之后可以读回这个序列化状态,即进行反序列化,得到这个对象的一个副本。