11 c# struct class-design
有些人知道.NET在内存中保存值类型(主要是在堆栈中,但在某些情况下可能在堆中等)......
我的问题是 - 结构的代码在哪里?
如果我在结构中说16字节的数据字段并且在其中有一个大量的计算方法 - 我假设16个字节将被复制到堆栈中,方法代码存储在其他地方并且为结构的所有实例共享.
这些假设是否正确?
MSIL存储在程序集的代码部分中 - Windows在首次加载程序集时映射到内存中.首次执行该方法时,JIT会将MSIL编译为x86/x64代码.一旦将方法编译到内存中,它通常会保留在那里并由所有线程共享.在某些情况下,多个AppDomain将导致MSIL第二次编译,但这种情况很少见.
| 归档时间: |
|
| 查看次数: |
753 次 |
| 最近记录: |