堆栈、堆和堆栈帧在概念上如何映射到 C# 结构?
堆栈、堆和堆栈帧在概念上如何映射到 C# 结构? 它们之间有何关联?
How do the stack, heap and stack frame conceptually map to c# constructs? How are the they all related?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我将对您的问题做出一些假设:
.NET 调用堆栈(以及各个帧的信息)可以通过 System.Diagnostics 中的 StackFrame 和 StackTrace 类直接访问。
在 .NET 中,垃圾收集器管理“堆”分配。 有 3 代对象,最古老的对象位于堆底部的第 2 代。 第 0 代是新对象分配的地方。 此外,大对象被分配在单独的部分中。
I'm going to make some assumptions about your question:
the .NET call stack (and info for individual frames) are directly accessible via the StackFrame and StackTrace classes in System.Diagnostics.
in .NET, the garbage collector manages "heap" allocations. There are 3 generations of objects, the oldest living in generation 2 at the bottom of the heap. generation 0 is where new objects get allocated from. In addition, large objects are allocated in a separate section.