Java对象的序列化和反序列化
什么叫对象的序列化和反序列化
要想完成对象的输入或输出,还必须依靠对象输出流(ObjectOutputStream)和对象输入流(ObjectInputStream)。使用对象输出流输出序列化对象的步骤,有时也成序列化,而使用对象输入流读入对象的过程,有时也称为反序列化
一个对象产生之后实际上是在内存中为其开辟了一个存储空间,方便存储信息、
对象序列化就是把一个对象变成二进制的数据流的一个方法,通过对象序列化可以反驳的实现对象的传输或存储。
注意:如果一个类的对象想被序列化,则对象所在的类必须实现java.io.Serializable接口
对象序列化的用途
持久性:把对象的字节序列永久保存到硬盘上,通常存放在一个文件中,比如:休眠的实现,以后服务器session管理,Hibernate将对象持久化实现。
网络通信:在网络上传送对象的字节序列,比如:服务器之间的数据通信,对象传递
seriaVersionUID
在对象进行序列化或反序列胡操作时,要考虑JDK版本问题,如果序列化的JDK和反序列化的JDK版本不统一就可能出现异常,所以在序列操作中引入一个seriaVersionUID常量,来验证版本的一致性。
对象序列化及反序列化操作
对象序列化依靠ObjectOutputStream&#