首页 新闻 会员 周边 捐助

都说引用类型在托管堆上,值类型在线程栈上,那么求扫盲!

0
悬赏园豆:5 [已解决问题] 解决于 2012-05-10 14:41

引用类型每一个使用都要分配一次内存,而值类型的实例在线程上分配这个是什么意思?值类型不是也要分配内存的嘛 不分拿什么放。。。。

一个程序所有类型都是引用类型会给程序性能照成影响,那么值类型比引用类型省在哪里了。。。

koi的主页 koi | 初学一级 | 园豆:4
提问于:2012-05-08 20:55
< >
分享
最佳答案
0

值类型存在栈上,当然也要分配内存的

收获园豆:5
artwl | 专家六级 |园豆:16736 | 2012-05-08 20:57

那在栈上分跟在堆上分 给程序省在哪了。。

koi | 园豆:4 (初学一级) | 2012-05-08 20:58

@koi: 栈由系统自动分配,速度较快。但程序员是无法控制的。堆是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便,更多参考:

http://www.cnblogs.com/cgli/archive/2011/06/09/2076710.html

内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理][转载]

artwl | 园豆:16736 (专家六级) | 2012-05-08 21:04
其他回答(1)
0

写托管代码gc也不然操作堆栈~那些快慢之说是相对操作系统而言的。中间隔着gc没测试过不敢打包票~而且明显托管和非托管也没有可比性

Nature Q | 园豆:342 (菜鸟二级) | 2012-05-08 21:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册