C#内存管理
来源:互联网 发布:中国地图绘制软件 编辑:程序博客网 时间:2024/05/21 02:34
一个程序集的内容在内存中应该被分为两个部分进行存放:代码和数据。一般CPU都会把数据和代码放到两个相对隔离的内存区域,这样能保证安全和便于管理。哈弗体系结构的计算机,数据存储器和代码存储器都是物理分开的。(到现在没有看到有书或视频讲这个问题,只是根据我汇编语言和C语言的知识做此推测。)代码被加载到代码区,包括类的方法和构造函数。数据被加载到数据区。
当程序集刚被加载到内存中时,只有代码占用了内存空间,在代码区。数据要等代码执行后才会分配相应的内存空间,值类型的被放到栈上,引用类型的被放到堆上。值类型并不是都被分配到栈上的,如果一个类的成员变量是值类型的,那么这个成员变量应该被分配到堆上。
以上为个人见解,欢饮大家拍砖。
问题一:所有进程都共用一个堆和栈吗?
- C# 内存管理
- c#内存管理
- C#内存管理
- C#内存管理
- c#内存管理
- c# 自动内存管理
- C# 后台内存管理
- c#内存管理
- C#内存管理
- C#内存管理
- C#内存管理
- C#内存管理一
- C#内存管理
- C#内存管理
- c#内存管理
- C#自动内存管理
- c#内存管理
- c#内存管理
- IT 女生对未来职业的一点思考
- 开关稳压电源和线性稳压电源
- delphi SetWindowPos改变窗体位置和状态
- Android ADB的使用
- 钩子初步——鼠标钩子程序
- C#内存管理
- 破解网站
- java面试题
- Ubuntu下搭建Apache+SVN服务
- C# WinForm 程序执行锁耗时间
- 下载软件、源码资源
- DAPM之三:audio paths与asound.conf
- 5位数字黑洞C源码
- 将当前dwg内的对象复制到另一个dwg文件中