欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

除了栈和堆 还有其他管理内存的方法 但是人们总是忽略这一点 例如既不在堆上也不在堆栈上的寄存器 如果寄存器的大小合适 值类型也可以位于寄存器中 如果在堆栈中存储某个东西很重要 为什么在寄存器中存储它不重要?相反 如果JIT编译器的寄存器规划算法不重要 那么栈的分配策略为什么不能不重要呢?

术语解释

之所以有这样的误解 是因为人们总是误以为类型系统与存储分配策略有关 但是 它是存储在堆栈上还是堆上 以及要存储的类型

墨初 知识笔记 90阅读

trong>引用是一个小的数据块,它包含一些信息,CLR可以根据这些信息来找到引用所指向的对象。这很模糊,但却正确,并且没有多余的暗示。

结论

  • 值类型可以存储在栈上,也可能不存储在栈上。即便存储在栈上,这也属于实现细节。微软完全可以不这么做。
  • 引用在当今的CLR实现为地址,这也是实现细节。

你会发现,我们“无意中”从很多书籍和资料中了解到了CLR的实现细节,如果不是要深入研究这些细节,其实是没有必要知道的。我并不是说这些细节不重要,而是说它们会给我们带来误导,让我们误以为必须是这样。

参考资料

相关文章

  • 你真的了解C#中的值和引用吗?(下)

标签:
声明:无特别说明,转载请标明本文来源!