1.首先,我们要知道什么是java的序列化和反序列化
将对象转化成字节序列的过程就成为对象的序列化。
将字节序列恢复为对象的过程就称为对象的反序列化。
2.然后,我们要思考为什么要使用序列化和反序列化
因为在很多的应用场景中,实体类的对象需要离开内存空间进入物理硬盘空间或者要进行网络的传输,比如在android应用中,客户端与服务端进行信息的交互,很多信息是封装在实体类中的,这时,就需要将实体类的对象先序列化,然后传输给服务器,服务其再将字节序列反序列化转化为实体类对象,然后获取细节数据。
3.实体类要想序列化与反序列化,必须实现序列化接口Serializable或Externalizable。
4.serialVersionUID的使用
主要是为了不同版本的兼容型,如果不定义,很可能出错。