序列化:将 Java 对象转换成字节流的过程。
反序列化:将字节流转换成 Java 对象的过程。
当 Java 对象需要在网络上进行二进制网格传输 或者 持久化存储到文件中时,就需要对 Java 对象进行序列化处理。
一句话,数据在网络上传输必须是二进制的,但是我们传输的对象等数据不是,所以序列化成可以传输的二进制数据。反序列就是在接收方把网络上传输的二进制的数据转为我们能识别的。
实现 Serializable 接口是为了告诉 jvm 这个类的对象可以被序列化。
某个类可以被序列化,则其子类也可以被序列化
声明为 static 和 transient 的成员变量,不能被序列化。
平时的实体类没有实现Serializable也可以存入数据库,因为类中的属性对应的包装类已经实现了序列化。