博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
堆和栈
阅读量:5166 次
发布时间:2019-06-13

本文共 372 字,大约阅读时间需要 1 分钟。

存放数据的区别:

栈:主要用来记录程序集的运行过程,它有严格的存储和访问顺序

堆:主要存储 程序运行期间产生的一些数据,几乎没有顺序的概念。

栈:主要存放程序运行期间的一些临时变量,包括值类型对象以及引用类型对象的引用部分

堆:主要存放引用类型对象的实例部分

栈中的数据会随着程序的不停执行自动存入和移除,堆中的数据则有CLR管理。

堆中对象的出生和死亡:

  栈中的对象由系统负责自动存入和移除,正常情况下,跟我们程序开发的关联并不大。

 CLR管理堆中对象内存时,是根据该对象的当前引用数目(包括栈和堆中),如果引用数目为零,那么CLR就会在某一个时间将该对象在堆中的内存回收。也就是说,堆中的对象实例存在的时间永远比栈中对象引用存在的时间长。

转载于:https://www.cnblogs.com/juneyss/p/9366195.html

你可能感兴趣的文章
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
面试整理:Python基础
查看>>
Python核心编程——多线程threading和队列
查看>>
Program exited with code **** 相关解释
查看>>
植物大战僵尸中文年度版
查看>>
26、linux 几个C函数,nanosleep,lstat,unlink
查看>>
投标项目的脚本练习2
查看>>
201521123107 《Java程序设计》第9周学习总结
查看>>
Caroline--chochukmo
查看>>
iOS之文本属性Attributes的使用
查看>>
从.Net版本演变看String和StringBuilder性能之争
查看>>
Excel操作 Microsoft.Office.Interop.Excel.dll的使用
查看>>
解决Ubuntu下博通网卡驱动问题
查看>>
【bzoj2788】Festival
查看>>