堆与栈

堆与栈

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