在运行中的程序使用两个内存区域来存储数据:就是栈和堆.
栈是一个内存数组,是一个LIFO(last-in first-out,即后进先出)的数据结构.栈存储3种类型的数据:
1)某些类型变量的值;
2)程序当前的执行环境;
3)传递给方法的参数.
堆则是一块内存区域,在堆里可以分配大块的内存用于存储某类型的数据.与栈不同,堆里的内存可以任意顺序存入和移除.虽然程序可以在堆里保存数据,但并不能显示地删除它们.CLR的自动GC(即垃圾收集器)在判断出程序的代码将不会在访问某数据项时,自动清除无主的堆对象. |