c# - 方法存储在内存中的什么位置?

标签 c# .net memory

我了解到类字段存储在堆中,但是方法存储在哪里?在堆中还是在其他地方?他们是内联的吗?

最佳答案

方法存储在内存中的其他位置。请注意,方法是针对每个类的,而不是针对每个实例的。所以通常情况下,方法的数量不会随着程序的运行时间而改变(有异常(exception))。在传统模型中,方法所在的地方称为“代码段”。在 .net 中,这更困难:方法最初存在于程序集中,并被映射到进程内存中。在那里,即时编译器会在 native 代码中创建一些方法的第二个副本;这个副本被执行。 JIT 代码可能会在运行时多次创建和删除,因此也可以将其视为“在堆中”。

关于c# - 方法存储在内存中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1298122/

相关文章:

C# - 图片框中图片的渐变

c# - 隐藏URL参数的方法

.net - 带有 Entity Framework 的存储库模式

c++ - 安全清除内存并重新分配

python - 为什么 python 实现使用的内存比 C 多 9 倍?

c++ - 如果在 C++ 中自动存储的对象没有被调用 exit 销毁,那么离开程序后这个对象会发生什么?

c# - 如何在 ASP.NET MVC 2.0 中对多个属性进行自定义验证?

c# - 在图像按钮下动态添加文本

c# - 无法将简单的字符串列表数组绑定(bind)到 ListView

c# - 将项目引用的 PDB 文件包含到 nuget 包中