首页 > Web开发 > 详细

.NET 内存分配笔记

时间:2017-01-19 18:03:28      阅读:159      评论:0      收藏:0      [点我收藏+]

阅读博客http://jonskeet.uk/csharp/memory.html的笔记(个人水平有限,如若翻译、记录有误,请提,谢谢~)

误区:引用类型保持在堆中,值类型保持在栈中

问题:前半句正确,后半句“值类型保持在栈中”不正确。

 

值类型的存储位置:

1.局部变量都存于栈中,另外引用类型的变量(不是指引用类型本身,而是指定义的那个用来存放引用地址的变量)也存于栈中;

2.全局变量存于堆中,和对象存放在一起,同样的生命周期;

3.声明值类型的内部的值类型变量根据定义位置存放不同位置(有点不通顺,翻译水平不行,原文:Instance variables for a value type are stored in the same context as the variable that declares the value type.)例如:定义一个结构变量,若为全局变量,则结构内部的值类型遵循第2条,反之则遵循第1条;

4.所有的静态变量都存于堆中,而不管定义的是值类型还是引用类型,且不管有多少实例,只保留一份。

.NET 内存分配笔记

原文:http://www.cnblogs.com/venux/p/6307561.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!