首页 > 代码库 > 我对Java Serializable(序列化)的理解和总结--转

我对Java Serializable(序列化)的理解和总结--转

1、序列化是干什么的?
       简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。

2、什么情况下需要序列化   
    a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
    b)当你想用套接字在网络上传送对象的时候;
    c)当你想通过RMI传输对象的时候;

package cn.sdl.serializable;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.ObjectOutputStream;import java.io.Serializable;public class Box implements Serializable{        private int width;    private int height;        public void setWidth(int width) {        this.width = width;    }    public void setHeight(int height) {        this.height = height;    }        public static void main(String[] args) {        Box box = new Box();        box.setHeight(11);        box.setWidth(22);                try {            FileOutputStream fs = new FileOutputStream("D:/foo.ser");            ObjectOutputStream os = new ObjectOutputStream(fs);            os.writeObject(box);            os.close();        } catch (Exception e) {            e.printStackTrace();        }    }}

 

我对Java Serializable(序列化)的理解和总结--转