社区
C#
帖子详情
一个类中有静态的方法。那么在内存分配时,静态方法是在托管堆上分配,还是在线程栈上?
长期潜水、
2011-08-10 01:18:52
如题
...全文
169
4
打赏
收藏
一个类中有静态的方法。那么在内存分配时,静态方法是在托管堆上分配,还是在线程栈上?
如题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
意识模糊
2011-08-10
打赏
举报
回复
[Quote=引用 2 楼 caozhy 的回复:]
静态方法本身位于代码区。
静态方法使用的变量,值类型分配在栈上,引用类型分配在堆上(和成员方法一样)。
静态成员变量,分配在堆上,整个程序共享一份。
[/Quote]
+1
yijianxiangde100
2011-08-10
打赏
举报
回复
对对对
threenewbee
2011-08-10
打赏
举报
回复
静态方法本身位于代码区。
静态方法使用的变量,值类型分配在栈上,引用类型分配在堆上(和成员方法一样)。
静态成员变量,分配在堆上,整个程序共享一份。
bdmh
2011-08-10
打赏
举报
回复
http://www.cnblogs.com/ybwang/archive/2010/06/25/1765117.html
参考
提高C#编程水平的50个要点
提高C#编程水平的50个要点 肯定对你有帮助
认识
线程
栈与
托管
堆
了解堆与栈,
线程
栈与
托管
堆。
c# 堆和栈
堆和栈 一 :什么是堆和栈
线程
堆栈:简称栈 Stack。
托管
堆: 简称堆 Heap。 使用.Net框架开发程序的
时
候,我们无需关心
内存
分配
问题,因为有GC这个大管家给我们料理一切。 硬盘:数据持久化(就是说 关机之后再开机数据还有,但是内存断电以后数据不再保留) 开机等待的原因就是 等硬盘中的数据传输到内存中 ,数据到了内存中才能被CPU调用 当我们编写程序的
时
候,操作系统把我们编写的程序分五个区
分配
在内存中。 这五个区是:栈区、堆区、常量区、
静态
区、代码区 ,static的变量放在
静态
区 栈 (St
CLR via C#(二)
线程
栈与
托管
堆
运行
时
要求每个类型最终都要从Equals()ToString()GetType()thisFinalize()CLR要求所有的对象都用new操作符创建。在这期间,newnew:指非
静态
字段,是属于对象的。与之相对的
静态
字段是属于类的。:每个对象都是
一个
类型的实例,而每个类型都由
一个
Type类型的实例来表示。类型对象指针就是指向该Type实例的指针。当然,Type类型对象本身也是
一个
类型对象的实例,它的类型对象指针指向了它自己。:可以简单理解为
一个
指向“同步块”的指针,拥有这个同步块的对象可以支持
线程
同步。
什么是堆、栈以及区别
首先栈和堆(
托管
堆)都存在于进程的虚拟内存中,什么是虚拟内存呢 虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(
一个
连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂
时
存储在外部磁盘存储器上,在需要
时
进行数据交换。 堆(Heap):是应用程序在运行的
时
候请求操作系统
分配
给自己内存,一般是申请/给予的过程,C/C++分别用malloc/New请求
分配
Heap,用free/delete销毁内存。由于从操作系...
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章