heap 和 stack 区别 1 heap是堆空间的意思,stack是栈空间的意思。 从内存和分配空间上看 2 栈空间是有限的,里面存放基本数据类型变量和对象的引用变量。当代码块定义一个变量时就会为其在栈分配空间,当超过代码作用域后,java就会释放掉该变量分配的空间。这个空间就会另做他用。 3 堆空间为空间很大的自由区,存放由关键词new创建的对象和数组。在堆内存中分配空间。由java垃圾回收器来管理