栈:是由操作系统分配释放,存放函数的参数值,局部变量之类的
堆:一般是由我们程序员操作释放,若是程序员不释放,程序结束时由OS回收。
还有就是缓存级别,栈是一级缓存,而堆则是二级缓存,由垃圾回收算法来决定,并不是一旦成为孤儿对象就能被回收,所以调用对象的效率相对来说要低一些。
数据结构的区别:栈可以被看成一颗树,
堆:是一种先进后出的数据结构
07-29
07-29
07-29
栈:是由操作系统分配释放,存放函数的参数值,局部变量之类的
堆:一般是由我们程序员操作释放,若是程序员不释放,程序结束时由OS回收。
还有就是缓存级别,栈是一级缓存,而堆则是二级缓存,由垃圾回收算法来决定,并不是一旦成为孤儿对象就能被回收,所以调用对象的效率相对来说要低一些。
数据结构的区别:栈可以被看成一颗树,
堆:是一种先进后出的数据结构