Serializable接口
来源:互联网 发布:清华ubuntu源 编辑:程序博客网 时间:2024/05/01 01:23
12.16 对象序列化 12.16.1 基本概念与Serializable接口 对象序列化就是把一个对象变为二进制的数据流的一种方法,如图12-30所示。通过对象序列化可以方便地实现对象的传输或存储。 可以发现在此接口中并没有定义任何的方法,所以此接口是一个标识接口。表示一个类具备了被序列化的能力。 范例:定义可序列化的类 以上的Person类已经实现了序列化接口,所以此类的对象是可以经过二进制数据流进行传输的。而如果要完成对象的输入或输出,还必须依靠对象输出流(ObjectOutputStream)和对象输入流(ObjectInputStream)。 使用对象输出流输出序列化对象的步骤有时也称为序列化,而使用对象输入流读入对象的过程有时也称为反序列化,如图12-31所示。 U提示:对象序列化和对象反序列化操作时的版本兼容性问题。 在对象进行序列化或反序列化操作时,要考虑JDK版本的问题。如果序列化的JDK版本和反序列化的JDK版本不统一则就有可能造成异常,所以在序列化操作中引入了一个serialVersionUID的常量,可以通过此常量来验证版本的一致性。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。 当实现java.io.Serializable接口的实体(类)没有显式地定义一个名为serialVersionUID、类型为long的变量时,Java序列化机制在编译时会自动生成一个此版本的serialVersionUID。当然,如果不希望通过编译来自动生成,也可以直接显式地定义一个名为serialVersionUID、类型为long的变量,只要不修改这个变量值的序列化实体,都可以相互进行串行化和反串行化。 本程序中直接在Person中加入以下的常量即可: serialVersionUID的具体内容由用户指定。
- Serializable接口
- Serializable 接口
- Serializable接口
- Serializable接口
- Serializable接口
- Serializable接口
- Serializable接口
- Serializable接口
- 接口 Serializable
- Serializable接口
- Serializable接口
- Serializable接口
- Serializable接口
- Serializable接口
- Serializable 接口
- Serializable接口
- Serializable接口
- Serializable接口
- 感受
- ARM7TDIMI中TDMI的意思
- target属性
- Selenium中文手册
- android Bluetooth
- Serializable接口
- 曾经
- [转]我不是谁的代言,我是程序员 ---程序员版的凡客体
- Windows 7 环境下 Delphi 7 打开旧项目乱码的问题
- 在PowerDesigner的PDM图形窗口中显示数据列的中文注释
- 分层架构模型的改进
- 【翠字营原创】 编译 Crypto++ cryptlib 适合VC6 VC7 VC8 VC9 VC10
- USACO算法系列十五——shoping
- panda3d中文问题