堆和栈的区别

来源:互联网 发布:matlab中值滤波算法 编辑:程序博客网 时间:2024/06/11 02:11

1、数据结构上区别
栈是线性结构,满足先进后出的顺序,插入和删除操作都只在表的一端执行。
堆是非线性结构,是一个完全的二叉树。

2、Java内存中的区别
栈用来存储基本类型的变量和引用变量,它们的大小需要在编译期就是确定的。当变量超过执行范围相应的内存就会被回收。

堆用来存储new创建的数组和对象,由垃圾回收机制进行回收。

0 0
原创粉丝点击