堆与栈

不羁岁月 提交于 2020-01-24 00:54:40

堆与栈

1、栈内存存储的是局部变量而堆内存存储的是实体。
栈中保存堆中实体的地址,当想要操作数据实体时,通过地址,而不是直接操作堆中数据实体。
例如:在数组操作中,在栈内存中保存的只有数组名称,只开辟了栈内存空间的数组无法使用,必须指向堆内存才可以使用(通过地址),要想开辟新的堆内存必须使用关键字new,然后将对内存的使用权交给对应的栈内存空间,而且一个堆内存空间可以同时被多个栈内存空间所指向。
在这里插入图片描述
2、栈内存的更新速度快于栈,因为局部变量的生命周期很短。
3、栈内存存放的变量生命周期一旦结束就会被释放,而堆内存中存放的实体会被垃圾回收机制不定时的回收。
参考文章

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!