堆和栈:
我们把内存分为堆空间和栈空间
栈空间小,读取速度块
堆空间大,读取速度慢
栈:数据只能从顶端插入和删除,把数据放入栈为入栈,从栈顶删除数据称为出栈。(相当于薯片的取放,最先放进去的最后出)
堆:一块内存区域,堆里面的内存可以以任意顺序存入和删除。
GC(garbage collector)垃圾回收器
CLR的GC是内存管理机制,我们写程序不需要关系内存的使用,CLR帮我们做了。
类型被分为两种 值类型和引用类型
值类型(如int)只需要单独的内存,用于存储实际的数据。放在栈中
引用类型(如 string)需要两段内存。一段存储实际的数据,位于堆中,另一段是一个引用,放在栈中,指向数据在堆中存放的位置。
占用栈内存:int>char>bool
当我们使用引用类型赋值的时候,其实赋值的是引用类型的引用。,也就是栈中引用的指向发生了变化,不再被指的数据会释放。
static void Test1()
{
</