黑马程序员-序列化
来源:互联网 发布:java游戏编程下载 编辑:程序博客网 时间:2024/05/17 09:40
---------------------- android培训、java培训、期待与您交流! -------------------------------
将对象转换为字节流保存起来,并在以后还原这个对象,这种机制叫做对象序列化。序列化(serialization)是把一个对象的状态写入一个字节流的过程。
将一个对象保存到永久存储设备上称为持久化。
一个对象要想能够实现序列化,必须实现Serializable接口或Externalizable接口。Serializable接口只有一个实现Serializable接口的对象可以被序列化工具存储和恢复。Serializable接口没有定义任何成员。它只用来表示一个类可以被序列化。如果一个类可以序列化,它的所有子类都可以序列化。 声明成transient的变量不被序列化工具存储。同样,static变量也不被存储。
假设一个被序列化的对象引用了其他对象,同样其他对象又引用了更多的对象。这一系列的对象和它们的关系形成了一个顺序图表。在这个对象图表中也有循环引用。也就是说,对象X可以含有一个对象Y的引用,对象Y同样可以包含一个对象X的引用。对象同样可以包含它们自己的引用。列化和反序列化的工具被设计出来并在这一假定条件下运行良好。如果你试图序列化一个对象图表中顶层的对象,所的其他的引用对象都被循环的定位和序列化。同样,在反序化过程中,所有的这些对象以及它们的引用都被正确的恢复。
当一个对象被序列化时,只保存对象的非静态成员变量,不能保存任何的成员方法和静态的成员变量。
如果一个对象的成员变量是一个对象,那么这个对象的数据成员也会被保存。
如果一个可序列化的对象包含对某个不可序列化的对象的引用,那么整个序列化操作将会失败,并且会抛出一个NotSerializableException。我们可以将这个引用标记为transient,那么对象仍然可以序列化。
反序列化时不会调用对象的任何构造方法,仅仅根据所保存的对象状态信息,在内存中重新构建对象。
------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
- 黑马程序员-序列化
- 黑马程序员 对象序列化
- 黑马程序员---对象序列化
- 黑马程序员---序列化你知多少
- 黑马程序员_对象的序列化
- 黑马程序员——序列化编码
- 黑马程序员之Java--对象序列化
- 黑马程序员-学习对象序列化日记
- 黑马程序员----Java对象序列化
- 黑马程序员-序列化与反序列化
- 黑马程序员- C# - 序列化和反序列化
- 黑马程序员---序列化与反序列化
- 黑马程序员 C#序列化和反序列化简介
- 黑马程序员——day21序列化,编码
- 黑马程序员-对象的序列化和管道流
- 黑马程序员_自定义泛型和序列化
- 黑马程序员_java 中的序列化是什么意思?有什么好处?
- 黑马程序员_IO流——对象的序列化
- atoi()函数的实现
- MQ setup in websphere
- 第5周实验报告任务1.3
- 关闭Windows 2003/2008中IE增强的安全配置的方法
- HIFI耳机基础知识入门
- 黑马程序员-序列化
- 绿皮书再版!ECMAScript 5th有讲呵!
- 数据结构---栈实现
- C++构造函数
- Decorator Pattern (装饰者模式)
- 第5周实验报告任务1.4
- mini2440 LED驱动程序之完全剖析
- 编码方式转换
- 配置config.bib的注意事项以及错误分析(含OEMAddressTable介绍)