堆和栈的区别:
1、程序的内存分配:(1)栈/堆栈(Stack):编译器自动释放,存储基本类型和对象引用、函数参数值、局部变量(2)堆(Heap):程序员管理(3)全局区(Static):全局和静态变量2、堆栈详解 (1)栈/堆栈实际是一个先进后出的队列,存储基本类型和对象引用、函数参数值、局部变量。 函数进行时分配内存,函数执行完释放,先释放局部变量,从右往左释放参数 堆栈的基本操作: push() − 推送(存储)在栈上的元素。 pop() − 弹出(访问)堆栈上的元素 peek() − 得到的堆栈顶部的数据元素,但不删除它。 isFull() − 检查堆栈是否满了。 isEmpty() − 检查堆栈是否为空的。 堆是存储java对象,运行时动态创建,全局