首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

自各儿动手写写:Java序列化

2012-11-05 
自己动手写写:Java序列化从以下几个方面来讨论这个问题?1、序列化是用来干什么的??? ? 序列化就是一种用来

自己动手写写:Java序列化

从以下几个方面来讨论这个问题

?

1、序列化是用来干什么的?

?? ? 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容就行流化。简而言之就是为了保存内存中的各种实例对象的状态,并且可以通过反序列化将实例对象的状态再读出来。

?

2、为什么需要序列化?

为了将对象转换为更加容易传输的格式,减少网络流量的开销。例如,可以序列化一个实例对象,然后使用Http通过Internet在客户端和服务端之间传输该对象,在另外一段,反序列化将从该流中重新构造对象。

?

3、什么情况下需要序列化?

内存中的实例对象状态保存到存储介质时。内存中的实例对象需要在网络传输时。
4、Java中序列化的实现
Java中只需要一个类implements Serializable即可实现此类的实例对象的序列化。通过ObjectOutputStream的writeObject方法来实现对象的序列化。通过ObjectInputStream的readObject方法类实现对象的反序列化。
请看下面的一个例子
com.serializable.UserImplconfimPasswordtLjava/lang/String;xpp
?

?

我们有没有发现,没有序列化父类的属性以及属性值,我们得出

4、子类序列化,父类没有序列化,则子类序列化时,父类的类型信息、属性以及属性值并不会序列化。

?

?

序列化的其他一些特性比如:Transient?

Transient 关键字的作用是控制变量的序列化,在变量声明前加上该关键字,可以阻止该变量被序列化到文件中,在被反序列化后,transient 变量的值被设为初始值,如 int 型的是 0,对象型的是 null。

等等,很多信息都可以参考google,这里给出一个觉得比较容易理解的文章的链接http://www.ibm.com/developerworks/cn/java/j-lo-serial/index.html?ca=drs-

?

?

?

?

?

?

热点排行