码迷,mamicode.com
首页 > 其他好文 > 详细

理解栈、堆、值类型、引用类型、装箱和拆箱

时间:2017-02-16 13:53:39      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:方法   变量赋值   变化   垃圾   系统   内容   数据   编译   支持   

.net中有2种可分配的内存类型:栈和堆

.net基元数据类型是指编译器直接支持的数据类型

.net定义一个变量,系统会为其分配一块内存块,包括:变量名称、数据类型、变量值

当一个值类型的变量赋值给另一个值类型变量时,实际上是创建一个值的副本,值的变化在变量间互不影响。引用类型变量的值为数据值的引用,值变化实际为同一数据值的变化,两个变量引用同一数值,故变量值更改相互有影响。

.net中变量存储到栈或堆上取决于数据类型,引用类型(object 和 string)存储于堆中,值类型存储于栈中

当一个方法体值行完毕时,栈中变量会根据后进先出规则逐一释放,引用类型堆中实际存储内容由垃圾回收器负责回收。

参考:

http://blog.jobbole.com/77946/

理解栈、堆、值类型、引用类型、装箱和拆箱

标签:方法   变量赋值   变化   垃圾   系统   内容   数据   编译   支持   

原文地址:http://www.cnblogs.com/ybtools/p/6404580.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!