分享

指示一个类可以序列号,无法继承此类

 若生安饶 2011-03-31
 [Serializable]  一般用在定义Model对象类的上面
 
所谓序列化类,实际上就是将类本身所有信息变成流格式进行保存传输等功能.这点对于远程调用(RMI)非常重要.可以将序列化类变成流格式通过网络传送到远端,再由远端进行"组装"恢复成和本地一样的情况而远端预先不需要知道任何情况,不知道是否可以帮助你理解
 
序列化基本是指把一个对象保存到文件或流中,比如可以把文件序列化以保存到Xml中,或一个磁盘文件中
序列化以某种存储形式使自定义对象持久化; 
将对象从一个地方传递到另一个地方。 
将类的值转化为一个一般的(即连续的)字节流,然后就可以将该流写到磁盘文件或任何其他流化目标上。
 
序列化和反序列化我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。 
我想最主要的作用有: 
1、在进程下次启动时读取上次保存的对象的信息  
2、在不同的AppDomain或进程之间传递数据  
3、在分布式应用系统中传递数据 
...... 
在C#中常见的序列化的方法主要也有三个:BinaryFormatter、SoapFormatter、XML序列化 
本文就通过一个小例子主要说说这三种方法的具体使用和异同点 
 
序列化是什么

  序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。

  序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例

  序列化的什么特点

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

  什么时候使用序列化

  一:对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。

  二:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多