java 序列化了解

上网时有时会经常看到有的博客里面有的java类会实现Serializable接口,工作当中我又很少用到,对它的概念有点模糊。今天从javaeye博客中对这个Serializable有所了解。带着下面几个问题,对这个Serializable接口来了解:

1>: Serializable(序列化)是什么?

2>:序列化有什么特点?

3>:什么时候使用序列化?

4>:序列化如何使用?

 

1:序列化是什么?

1>     首先我们要对序列化的含义进行了解。它是将一个对象的状态(各个属性值)保存起来,然后在适当的时候再获得.

2>     分为两部分:

A: 序列化  是这个过程的第一部分,将数据分解成字节流,以便存储在文件当中或在网络上传输.

B: 反序列化 是打开字节流并重构对象。

 

2:序列化有什么特点?

       如果某个类能够被序列化,其子类也可以被序列化。声明为statictransient类型的成员数据不能被序列化。因为static代表类的状态,transient代表对象的临时数据。

 

3:什么时候使用序列化?

       1>:对象序列化可以实现分布式对象

       2>:利用对象序列化可以进行圣贤象的“深复制”,即复制对象本身及引用对象的本身.

4:序列化的实现:

      将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

 

参见博客:http://gaojiewyh.iteye.com/blog/412421

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值