您的位置:首页 > 编程语言 > C#

浅谈内存开辟(c#学习日志)补2013 12 17

2013-12-21 16:34 204 查看
总所周知,我们在visual studio 中能声明各种变量 int ,bool,double 和类变量。但是他们如何在内存中去开辟我们却知晓的很少。

今天就这个问题搜索了一些资料了解了下。发表下自己的观点。

程序的完成少不了各种变量的声明。但是这些变量如何在内存中保存的?

这里我们需要去了解一下内存的某些机制。堆栈, 静态存储区,方法表,

当我们int i时,计算机就会在内存中开辟一个合适大小的控件去准备存储 用户需要存储的数据。

当我们使用i=1;时这个内存中就会存储这个1到这个i变量的空间去。由于所存储的是属于值类型数据,计算机就存储到内存的栈中。方便计算机快速搜索。

其次除了值类型数据,还有引用类型数据,

那引用类型数据又是如何存放的?

首先我们需要有一个类Dog。

然后声明

Dog dog;这个时候就会在内存中的栈中声明一个变量dog;他的变量值为null。(栈中的数据为小数据,方便搜索的数据,,,,,,,,自己的理解有错误可以纠正哈)

当程序员使用:dog=new Dog()的时候这是new运算符会去内存的堆中开辟一块合适大小的空间去存储Dog类的所有字段,和方法指针。而这个方法指针所指向的位置就是方法表中的所对应的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: