对象序列化笔记
来源:互联网 发布:北京软件游戏培训班 编辑:程序博客网 时间:2024/05/21 20:38
序列化是把一个对象的状态写入一个字节流的过程,它执行RMI,RMI允许一台机器上的JAVA对象调用不同机器上的JAVA对象方法,对象可以作为参数提供给那个远程方法,发送机序列化该对象并传送它,接收机执行反序列化。
序列化和反序列化的关系图表可形成包含循环引用的顺序图表。这是整个序列化的总体思想。
而Serializable接口属于支持序列化的一个接口,只有一个实现它的对象可以被序列化工具存储和回复,Serializable接口没有定义任何成员,只用来表示一个累可以被序列化,若该类可以序列化,那么它的所有子类都可以。
下面是关于序列化的一个实例:
程序名称:SerializationDemo.java
程序主题:实现对象的序列化和反序列化
程序说明:该程序由实例化一个MyClass类的对象开始,该对象有三个实例变量,类型分别为String、int、double,是希望存储和恢复的信息。
程序运行结果:object1和object2的实例变量是一样的,输出如下:
序列化和反序列化的关系图表可形成包含循环引用的顺序图表。这是整个序列化的总体思想。
而Serializable接口属于支持序列化的一个接口,只有一个实现它的对象可以被序列化工具存储和回复,Serializable接口没有定义任何成员,只用来表示一个累可以被序列化,若该类可以序列化,那么它的所有子类都可以。
下面是关于序列化的一个实例:
程序名称:SerializationDemo.java
程序主题:实现对象的序列化和反序列化
程序说明:该程序由实例化一个MyClass类的对象开始,该对象有三个实例变量,类型分别为String、int、double,是希望存储和恢复的信息。
import java.io.*;
public class SerializationDemo{
public static void main(String args[]){
//Object serialization
try{
MyClass object1=new MyClass("Hello",-7,2.7e10);
System.out.println("object1:"+object1);
FileOutputStream fos=new FileOutputStream("serial");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(object1);
oos.flush();
oos.close();
}
catch(Exception e){
System.out.println("Exception during serialization:"+e);
System.exit(0);
}
//Object deserialization
try{
MyClass object2;
FileInputStream fis=new FileInputStream("serial");
ObjectInputStream ois=new ObjectInputStream(fis);
object2=(MyClass)ois.readObject();
ois.close();
System.out.println("object2:"+object2);
}
catch(Exception e){
System.out.println("Exception during deserialization:"+e);
System.exit(0);
}
}
}
class MyClass implements Serializable{
String s;
int i;
double d;
public MyClass(String s,int i,double d){
this.s=s;
this.i=i;
this.d=d;
}
public String toString(){
return "s="+s+";i="+i+";d="+d;
}
}
程序运行结果:object1和object2的实例变量是一样的,输出如下:
object1:s=Hello;i=-7;d=2.7E10
object2:s=Hello;i=-7;d=2.7E10
- 对象序列化笔记
- .NET 中的对象序列化(笔记)
- 【JAVA IO】_对象序列化笔记
- 【JAVA IO】_对象序列化笔记
- java.io 与对象序列化 笔记
- 【js学习笔记038】--序列化对象
- 【JAVA IO】_对象序列化笔记
- C#学习笔记 对象序列化
- Android笔记之对象序列化
- java笔记九:对象序列化与反序列化
- JDK6.0学习笔记(十四)对象序列化
- java学习笔记--字符流、对象序列化
- 课堂笔记--随机文件操作和对象序列化
- python 学习笔记(12)序列化python 对象
- java 学习笔记11之对象序列化
- 黑马程序员 C#学习笔记⑨ 序列化对象
- JAVA学习笔记(三十一)- 对象序列化Serializable
- 疯狂Java学习笔记(56)------------对象序列化
- 十年MFC经历认识的Microsoft技术
- Ajax缘何流行—来看看大象本身
- 在水晶报表中动态的添加自己所需要的的字段
- C#.NET中的类型转换
- Atlas 学习笔记: ajax 改进 by Atlas
- 对象序列化笔记
- Ajax程序设计入门
- 消除左递归文法
- datagrid控件中添加checkbox控件列
- 【AjaxPro实现机制浅析一】AjaxPro内部为我们做什么工作?
- 转帖:『IT视界』 [互联网]中国电信试点宽带按流量计费 变相封杀BT下载!
- 软件开发技术常用术语英中对照
- [大话IT]网易股价逼近100美元 丁磊个人财富狂飙
- PB的基本语法