现在越来越觉得对.NET基本概念的理解和掌握对于提升编程水平的重要性,先从.NET的 Stack(栈)和Heap(堆)说起,计算机的内存可以分为代码块内存,stack内存和heap内存。代码块内存是在加载程序时存放程序机器代码的地方。Stack一般存放函数内的局部变量。而he ...
现在越来越觉得对.NET基本概念的理解和掌握对于提升编程水平的重要性,先从.NET的 Stack(栈)和Heap(堆)说起,计算机的内存可以分为代码块内存,stack内存和heap内存。代码块内存是在加载程序时存放程序机器代码的地方。Stack一般存放函数内的局部变量。而heap存放全局变量和类对象实例等。若只是声明一个对象,则先在栈内存中为其分配地址空间,若再实例化它,则在堆内存中为其分配空间。
1 Stack VS Heap
由于计算机的内存分配过程比较抽象,下面举一个简单的程序片段,来图解和谐步骤对Stack和Heap内存的影响:
下面的StackvsHeap类有一个Person类和Fun1方法,当调用Fun1方法时,当执行第一行代码,即
int i=3;
原标题:图解.NET Stack和Heap的本质区别
关键词:.NET
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。