总结区别:1、栈负责保存我们的代码执行(或调用)路径,而堆则负责保存对象(或者说数据)的路径2、栈和堆中主要放置了四种类型的数据:值类型(Value Type),引用类型(Reference Typ。net中堆和栈的区别?更多详情请大家跟着小编一起来看看吧!

net中堆和栈的区别(1)

net中堆和栈的区别(1)

总结区别:

1、栈负责保存我们的代码执行(或调用)路径,而堆则负责保存对象(或者说数据)的路径。

2、栈和堆中主要放置了四种类型的数据:值类型(Value Type),引用类型(Reference Type),指针(Pointer),指令(Instruction)。引用类型总是放在堆中。值类型和指针总是放在它们被声明的地方。

3、栈是自行维护的,也就是说内存自动维护栈,当栈顶的盒子不再被使用,它将被抛出。相反的,堆需要考虑垃圾回收,垃圾回收用于保持堆的整洁性。