java序列化总结

今天对java序列化做个总结,详细的内容可参考之间的博文。

1、为序列化一个对象,首先要创建某些OutputStream对象,然后将其封装到ObjectOutputStream对象内。此时,只需调用writeObject()即可以完成对象的序列化,并将其发送给OutputStream。相反的过程是将一个InputStream封装到ObjectInputStream内,然后调用readObject()。

2、实现序列化有三种方法:

2.1 实现Serializable接口,该方式下,不能自定义序列化及装配方式。重新装配时,不会调用任何构造器,整个对象都是从InputStream中恢复来的。

2.2 实现Externalizable接口,实现该接口下的两个方法,自定义序列化及装配方式,如果不进行设置,组装的对象就是默认创建的对象。采用该方式时,会调用默认的构造器来创建对象,然后调用该接口下的两个方法。注意,默认构造器需要为public,否则组装时不会创建新的对象。

2.3 实现Serializable接口,同时实现两个私有方法。此方式和第一种类似,不同的是在序列化和装配时,会分别调用这俩方法。次方法不会调用构造器。



你可能感兴趣的:(java序列化总结)