对象的序列化

Posted 琼biu~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象的序列化相关的知识,希望对你有一定的参考价值。

对象的序列化:Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。Java对象序列化就能够帮助我们实现该功能。

使用Java对象序列化,在保存对象时,会把其状态保存为一组字节,在未来,再将这些字节组装成对象。必须注意地是,对象序列化保存的是对象的"状态",即它的成员变量。由此可知,对象序列化不会关注类中的静态变量。

  1. 基本数据类型的变量可以直接序列化
  2. 对象要被序列化,它的类必须实现Serializable接口,如果一个类中有引用类型的变量,这个引用类型的变量的类也必须实现Serializable接口。如果这个引用类型的变量不想被实例化,则用transient修饰(ObjectInputStream)
  3. transient 修饰的变量在对象串化的时侯并不会将所赋值的值保存到传中,串化的对象从磁盘读取出来仍然是null。
  4. 能够对对象进行传输的貌似只有ObjectOutputStream和ObjectInputStream这些以Object开头的流对象。

http://developer.51cto.com/art/201202/317181.htm

以上是关于对象的序列化的主要内容,如果未能解决你的问题,请参考以下文章

Java实现对象的序列化

C#中如何实现多个观测数据对象序列化和反序列化?

对象的传递为啥要 序列化 呢

intent传对象为啥要序列化

将对象序列化和反序列化

Java:对象的序列化