首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在内存对象中转储并转移它?

如何在内存对象中转储并转移它?
EN

Stack Overflow用户
提问于 2010-04-15 15:11:01
回答 1查看 113关注 0票数 0

是否可以转储/保存内存中的对象,以便转储同时包含状态和方法,然后通过网络传输它。我主要使用C#,但如果可以用其他技术来实现,那就更好了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-15 15:16:39

“转储包含方法”,这在很大程度上取决于语言和运行时。

在典型的静态类型OO语言中,对象的方法由其类型确定,因此假设接收方安装了相同的代码,您只需发送该类型的标识符。接收者只是实例化该类型的空白对象,并用接收到的数据填充它。

“发送方法”可能意味着各种各样的事情:与接收方协商以查看它们是否具有特定的程序集(已编译的代码),如果没有,则发送它们(或告诉它从某个地方下载它们),然后发送数据来实例化对象。自动执行此操作通常会带来巨大的安全风险!因此,它很少自动发生。

这基本上就是web服务器向您发送视频的方式。如果您没有所需的插件,它会让您下载它,然后将数据发送给您以实例化插件的一个实例。

使用像JavaScript这样的动态语言,代码和数据之间的划分更加无缝。下面的声明大致相当于一个带有方法的对象:

代码语言:javascript
复制
{
    counter: 5,
    increment: function() { this.counter++; }
}

这段文本可以通过网络发送,然后接收者可以使用eval将其转换为实际的对象:

代码语言:javascript
复制
c.increment();
c.increment();

alert(c.counter); // displays 7

同样,这也是现代网页的本质:声明的结构( HTML)和通过互联网发送的可执行脚本的小片段的组合。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2643329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档