JAVA序列化

来源:互联网 发布:如何查看淘宝宝贝分类 编辑:程序博客网 时间:2024/05/01 22:50

(一)什么是序列化:
1.序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。
序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传
输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求
有恢复数据的对象实例;
2.java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保
存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象
可能得到整个对象序列。
序列化的特点是什么:
如果某个类能够被序列化,其子类也可以被序列化。


(二)序列化前提:
(1)要序列化对象必须是可序列化的,即必须实现 Serializable 接口。
(2)要序列化对象的属性也都是可序列化的。
(3)要序列化对象引用的对象也必须是可序列化的,如:要序列化一个 HashMap 实例,需要把放入到HashMap中的对象也都序列化

(4)要序列化一个内部类,该内部类必须可序列化,并且外部类也必须可序列化。
(5)基本数据类型都是可以序列化的。

(三)序列化作用
1.序列化可以保存一个对象某个时刻的状态,然后在某个时刻反序列化得到一个新的对象并拥有当时的状态。
2.可以通过序列化实现克隆一样的作用。
3.序列化后在网络上传输,然后使用就像在本机使用效果一样。
4.通过RMI传输对象的时候。

原创粉丝点击