一、堆和栈的空间都是在内存上的,堆是内存的动态概念,栈是内存的静态概念;
二、堆的内存是随着程序的运行而变化的,栈的内存是在程序编译时就确定好的;
三、由于堆是动态,栈是静态,所以堆的效率要比栈慢;
四、栈与栈之间的内存数据是无法被互相访问的,但是在一个进程中,所有的栈都可以访问堆上的数据;
五、数据大小不确定的时候使用堆,当数据大小确定的时候使用栈,栈的效率更高;
六、大小非常庞大的情况下使用堆不使用栈;
一、堆和栈的空间都是在内存上的,堆是内存的动态概念,栈是内存的静态概念;
二、堆的内存是随着程序的运行而变化的,栈的内存是在程序编译时就确定好的;
三、由于堆是动态,栈是静态,所以堆的效率要比栈慢;
四、栈与栈之间的内存数据是无法被互相访问的,但是在一个进程中,所有的栈都可以访问堆上的数据;
五、数据大小不确定的时候使用堆,当数据大小确定的时候使用栈,栈的效率更高;
六、大小非常庞大的情况下使用堆不使用栈;