定义
定义:栈和堆是存储变量和常量的地方。
栈
定义
栈是存储局部变量和参数的内存块。
逻辑上,栈 会在函数进入和退出时增加或减少。
Static int Fact( int x)
{
If(x==0)
Return 1;
Return x*Fact(x-1);
}
在这个类方法里,
每调用这个方法时,栈就会有一个新的 int, 如果离开这方法,就释放这个int
堆
定义
堆是保存对象的内存块。新创建的对象会分配在堆上并返回其引用。
在程序执行过程中,堆就被新创建的从对象不断填充。
.NET运行时的垃圾回收器会定期从堆上释放对象,因此应用程序不会内存不足。