还是这个序列化的解释比较好懂
序列化(Serialization)是.NET平台最酷的特性之一。
1、为什么要序列化:
首先你应该明白系列化的目的就不难理解他了。系列化的目的就是能在网络上传输对象,否则就无法实现面向对象的分布式计算。比如你的客户端要调用服务器上的一个方法获得一个产品对象,比如方法为:public Product findProduct(int product_id);
注意该方法返回一个Product对象,如果没有系列化技术,客户端就收不到返回的对象Product。而序列化的实现就是把对象变成一个可在网络上传输的字节流。
2、利用序列化技术,可以实现对象的备份和还原。序列化可以将内存中的对象(或对象图)序列化为数据流,并保存到磁盘上进行持久化;还可以将数据流反序列化为对象,实现对象的还原。序列化技术在分布式系统的数据传输中得到充分的利用,如:XML Web Service 利用XML序列化实现跨平台,.NET Remoting 则用到了二进制序列化和SOAP序列化。
.NET Compact Framework 2.0 支持XML序列化,不支持二进制序列化和SOAP序列化。而 .NET Compact Framework 1.0 连XML序列化都不支持。不过 OpenNETCF 1.x 为 .NET CF 1.0 实现了一个XML序列化的类,这个类在 OpenNETCF.Xml.dll 程序集中可以找到。
序列化和反序列化用于将一个对象保存到文件,和从文件读取。
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable()]//可以序列化的类需要用这个属性标记 public class ToBeSerialized
{ public int a; public string b; public ToBeSerialized(int a,string b) { this.a=a; this.b=b; }
} public class Test
{ public void Serialize()//序列化 { ToBeSerialized tbs = new ToBeSerialized(22,"SOM"); Stream fs = File.Create("Serialized.txt"); BinaryFormatter serializer = new BinaryFormatter(); serializer.Serialize(fs, tbs); fs.Close(); } public void DeSerialize()//反序列化 { ToBeSerialized restore; Stream fs = File.OpenRead("Serialized.txt"); BinaryFormatter deserializer = new BinaryFormatter(); restore = (ToBeSerialized)(deserializer.Deserialize(fs));//反序列化得到的对象 fs.Close(); }
}
转载于:https://www.cnblogs.com/herbert/archive/2011/09/19/2181901.html
还是这个序列化的解释比较好懂相关推荐
- 对于session序列化跟session的钝化与活化的粗浅理解
1. API对序列化的解释:类通过实现 java.io.Serializable 接口以启用其序列化功能.未实现此接口的类将无法使其任何状态序列化或反序列化.可序列化类的所有子类型本身都是可序列化的. ...
- 包含c语言的序列化字符,Android Serializable与Parcelable原理与区别
一.序列化.反序列化是什么? (1) 名词解释 对象的序列化 : 把Java对象转换为字节序列并存储至一个储存媒介的过程. 对象的反序列化:把字节序列恢复为Java对象的过程. (2) 序列化详细解释 ...
- 六、python Django REST framework数据格式处理[序列化]
django 3.2.13 一.序列化和反序列化 安装:pip install djangorestframework 序列化:序列化就是从数据库里面取出数据->并且把数据格式改为能直接返回的格 ...
- java对象流保存表格,序列化表格 (Java 2 Platform SE 5.0)
此字段有两种可能的解释: startMode == DOW_IN_MONTH startDay 指示夏令时是在 startMonth 月份中的哪个日期开始的,该日期可以是从 1 到 28.30 或 3 ...
- 你了解java序列化吗?一篇文章搞懂java序列化
程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 9 分钟. 来自:https://www.cnblogs.com/xiaohuiduan/p/12398775.html 首先 ...
- java rest 序列化_一文看懂Java序列化
一文看懂Java序列化 简介 首先我们看一下wiki上面对于序列化的解释. 序列化(serialization)在计算机科学的数据处理中,是指将数据结构或对象状态转换成可取用格式(例如存成文件,存于缓 ...
- 深入浅出神经网络原理
目录 一.感知器 二.感知器的例子 三.权重和阈值 四.决策模型 五.矢量化 六.神经网络的运作过程 七.神经网络的例子 八.输出的连续性 眼下最热门的技术,绝对是人工智能. 人工智能的底层模型是&q ...
- 一个简单案例,5 分钟看懂 Java Lamdba 表达式
JDK8引入了一个新玩意,叫做lamdba(那么大)的表达式,说得神乎其神,说真的,这玩意吧,并不难,但是要讲清楚吧,也不是太容易的事情. 从匿名内部类开始说起 老实交代,直接来讲lamdba表达式还 ...
- Android Serializable与Parcelable原理与区别
2019独角兽企业重金招聘Python工程师标准>>> 一.序列化.反序列化是什么? (1) 名词解释 对象的序列化 : 把Java对象转换为字节序列并存储至一个储存媒介的过程. 对 ...
最新文章
- python 命令行参数-python获取命令行参数的方法(汇总)
- [Web开发] 微软的 PHP+IIS+WinServer 开发培训资料/示例代码
- GetResponse() 基础连接已经关闭:服务器关闭了本应保持活动状态的连接
- java 时间衰减函数_TensorFlow实现指数衰减学习率的方法
- hibernate+oracle+servlet实现插入数据的时候,不立马显示!!
- java 加密解密编程,java 加密解密容易实现
- java动态json入库_从JSon File动态生成模式
- 读《那些年,那些事 一个程序猿的奋斗史》 一点自己的感触
- 【转】Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES
- 第九课 go的循环语句
- (包含每张图片的3DMM系数,可以直接重建出3D人脸)AFLW2000-3D数据库介绍及自带代码使用
- 208亿GMV的抖音年货节里,商家和品牌如何“抢新”?
- 通过java实现word转PDF
- 燃烧的远征java(二)-开发环境:eclipse 的使用技巧收集
- springboot上传图片
- vmware linux虚拟机中添加硬盘
- 苹果4s怎么越狱_iPhone 12系列细节曝光:苹果调整屏幕尺寸
- 竞斗云lite正式发布,就是冲着2亿电竞用户的客厅去的!
- matlab如何泰勒公式用求近似值_matlab2016bn阶泰勒公式怎么求?
- portal 源代码
热门文章
- 1020 Tree Traversals
- 1080 Graduate Admission
- php instr函数,oracle的instr函数用法
- 参加Python培训班能找到工作吗?
- matlab实验是啥,matlab实验心得体会
- 自动驾驶L3量产追梦:如何跨过车规级和低成本门槛?
- [20171225]查看并行执行计划注意的问题.txt
- Redis安装整理(window平台) +php扩展redis
- 将表里的数据批量生成INSERT语句的存储过程 增强版
- 解决getOutputStream() has already been called for this response[java io流]