Java序列化

  1. Java在序列化的时候只会保存对象属性字段成员(不包括transient,static修饰的属性字段),不会序列化对象中的方法成员(不仅可以保护源代码,其实Java序列化的机制也不需要这样做,原因见下文第4条)。

  2. 序列化的作用只是保存对象的当前状态。

  3. 此时必须注意的是,当重新读取被保存的序列化对象时,并没有调用该对象的任何构造器(不调用Java构造器创建对象的方法还有对象复制),看起来就像是直接使用字节将该对象还原出来的。

  4. 当被序列化的对象被保存到文件中之后,我们可以在其它地方去读取该文件以还原对象,但必须确保该读取程序的CLASSPATH中包含有该序列化对象的class文件(其实被序列化对象的方法成员在此class文件中),否则会抛出ClassNotFoundException。

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