从游戏存档角度理解序列化和反序列化
先看官方的解释
序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
这个概念其实很简单,谁都可能经常用到
在玩单机游戏的时候,这时候玩家的信息在内存中存储,如果游戏突然关闭,这时候玩家的信息就会丢失,所以需要存档,当点击存档的时候,这时会把游戏运行的信息变成save存档文件存到硬盘里面,也就是将内存对象转换为了可保存的数据
再说反序列化,当玩家需要读取存档的时候,将从硬盘中读取存档数据,由这些存档数据生成内存数据,这就是反序列化
内存中的信息不可以打包带走,但是游戏存档文件可以拷贝出来,换台电脑就可以使用,也可以通过网络传输给别人使用
那么就有了更广泛的的关于序列化和反序列化的使用场景,自己电脑上的对象实例化为json或者xml等文本存储格式能同步给别的电脑,然后再反序列化再其他计算机上面还原出自己计算机上的对象
从游戏存档角度理解序列化和反序列化相关推荐
- 用带遗传算法的神经网络解决贪吃蛇问题,看完这篇,从游戏AI角度理解神经网络!(一)
Designing AI: Solving Snake with Evolution--AI设计:用进化算法解决贪吃蛇问题 前言 The Game of Snake Choosing a Method ...
- 序列化和反序列化(转)
转载:http://kb.cnblogs.com/page/515982/ 摘要 序列化和反序列化几乎是工程师们每天都要面对的事情,但是要精确掌握这两个概念并不容易:一方面,它们往往作为框架的一部分出 ...
- 序列化和反序列化--转
http://www.infoq.com/cn/articles/serialization-and-deserialization 简介 文章作者服务于美团推荐与个性化组,该组致力于为美团用户提供每 ...
- 序列化和反序列化(转载美团网技术团队)
摘要 序列化和反序列化几乎是工程师们每天都要面对的事情,但是要精确掌握这两个概念并不容易:一方面,它们往往作为框架的一部分出现而湮没在框架之中:另一方面,它们会以其他更容易理解的概念出现,例如加密.持 ...
- 面试官:您能说说序列化和反序列化吗?是怎么实现的?什么场景下需要它?
序列化和反序列化是Java中最基础的知识点,也是很容易被大家遗忘的,虽然天天使用它,但并不一定都能清楚的说明白.我相信很多小伙伴们掌握的也就几句概念.关键字(Serializable)而已,如果深究问 ...
- python文件IO二--序列化和反序列化
内存中的字典.链表.列表如何保存到文件中? 自定义的类的实例,如何保存到文件中? 又怎么读取才能让他们在内存中再次变成自己对应的类的实例? 这就是序列化和反序列化 一.理解(serialization ...
- 【Unity百宝箱】游戏中的用户数据存档 | Json序列化和反序列化 | 数据加密和解密 | 干货游戏教程
目录 框架设计 工具选用 逻辑书写 框架使用 框架优化 数据加密 总结 最后 Hi 大家好,我是游戏区Bug打工人小棋. 在游戏开发过程中,我们经常有存储用户数据的这一需求,比方说:游戏音量.关卡进度 ...
- java 序列化概念和作用_结合代码详细解读Java序列化与反序列化概念理解
Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨. 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列 ...
- Unity3D动画游戏设计算法--序列化与反序列化
1.实验的目的和要求 掌握序列化与反序列化的概念,掌握BinaryFormatter类,能够编写代码实现游戏对象的序列化与反序列化. 2.实验内容 在Unity脚本中,通过Serialize与Dese ...
最新文章
- linux下快速添加Qt的MySQL驱动
- 右值引用 移动构造函数 移动语义
- boost::is_convertible相关的测试程序
- Android开发之Java和Calendar日期上一年,上一个月,前一天,前一周的方法
- MessagePack Java Jackson Dataformat 在 Map 中不使用 String 为 Key 的序列化
- c#中常用集合类和集合接口之集合类系列
- MySQL企业级主从复制
- A Python example for HiveServer2
- 数据管理与数据治理的区别
- io流之转换流InputStreamReader、OutputStreamWriter
- AIX系统修改文件系统的方法
- JTopo交互式拓扑图(基本使用+常用场景)
- sketch软件_8款原型设计工具与Sketch的强强组合,轻松构建交互原型
- 前端工程师和python工程师收入哪个高_前端工程师和后端工程师工资哪个高
- ios mac使用mitmproxy抓包
- CentOS配置Jenkins+Android+fir+pyger(蒲公英)+qiniu(七牛)
- 电商运营裂变新玩法—分销渠道系统模式
- 联手中信银行 物品互赠平台宣布“不卖只送”
- mac PP助手安装deb文件
- 解决NativeCat能连接的上,但是IDEA连接不上