前端之家收集整理的这篇文章主要介绍了
C#.其中struct方法代码保存在内存中?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有些人知道.NET在内存中保留值类型(主要是堆栈,但在某些情况下可能是堆)
我的问题是 – 结构的代码在哪里?
如果我在结构中说了16个字节的数据字段,并且在其中有一个大量的计算方法 – 我假设16个字节将被复制到堆栈中,并且方法代码存储在其他地方,并且对于struct的所有实例都是共享的.
这些假设是否正确?
MSIL存储在程序集的
代码段中 – 当程序集首次加载时,
Windows映射到内存中.当该
方法首次执行时,JIT将将MSIL编译为x86 / x64
代码.一旦将该
方法编译到内存中,它通常会保留在所有线程中,并被共享.在某些情况下,多个AppDomains将导致MSIL第二次被编译,但很少见.
原文链接:https://www.f2er.com/csharp/96790.html