堆栈内存分配的区别 静态存储分配在编译的时候就要确定运行的存储空间,栈是入栈的时候必须确定运行需要的存储空间,堆负责编译或运行时无法确定的数据结构内存分配。 String a="a"; String b="b"; String c=a+b; syso(c=="ab") return false; c只有在运行时才知道其所需的存储空间所以是放在堆里的。