1).NET中栈(stack)的空间是内存自维护的,即用完即清除;
2).NET中堆(seap)的空间的需要垃圾回收器回收释放。而垃圾回收器启动回收工作的时候,会暂停你程序的所有线程,然后根据一定的算法找出没有不再在程序中使用的对象并删除它们。然后GC会重新组织堆中所有剩下的对象来节省空间,并调整栈和堆中所有与这些对象相关的指针。这个过程是很耗费性能的,显然会比内存自动管理栈中的值类型的空间费劲的多。
2).NET中堆(seap)的空间的需要垃圾回收器回收释放。而垃圾回收器启动回收工作的时候,会暂停你程序的所有线程,然后根据一定的算法找出没有不再在程序中使用的对象并删除它们。然后GC会重新组织堆中所有剩下的对象来节省空间,并调整栈和堆中所有与这些对象相关的指针。这个过程是很耗费性能的,显然会比内存自动管理栈中的值类型的空间费劲的多。