java的序列化

来源:互联网 发布:mac os x10.12懒人版 编辑:程序博客网 时间:2024/04/30 04:43
java序列化
一个对象要被序列化需要实现Serializable接口,使用ObjectInputStream和ObjectOutStream进行对象的读写。


对象的序列化
public class A implements Serializable{
     private static final long serialVersionUID = 1L;
     private String name;
     public String getName(){
          return name;
     }
     public void setName(String name){
          this.name=name;
     }
}


序列化的作用
所谓Java的序列化是指,将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。序列化是sun公司提出的一种统一的解决方案,它会把对象变成某个格式进行输入和输出。假设两年前我保存了某个类的一个对象,近两年来,我修改该类,删除某个属性和增加了另外一个属性,两年后,我又去读取那个保存的对象,会有什么结果?未知!sun的jdk就会蒙了。为此,一个解决办法就是在类中增加版本号,每一次类的修改,都应该把版本号升级一下,这样,在读取时,比较存储对象时的版本号与当前类的版本号,如果不一致,则直接报版本号不同的错