堆和栈的区别 用户7148667373592 2020-10-23 127 阅读1分钟 物理地址 堆的物理地址是不连续的,性能差,分配的内存大小在运行时确定; 栈的物理地址连续,性能快,分配的内存大小在编译时确定; 存放内存 堆存放的是对象和实例数组。更关心数据的存储; 栈存放:局部变量,操作数栈,返回结构。更关心方法调用。 ps:静态变量存放在方法区,静态对象存放在堆 程序可见度 堆对于整个应用程序都是共享、可见的; 栈只对于线程是可见的。所以也是线程私有。