栈只是的名词,我们的关注点是它的功能,栈的功能主要是函数调用、局部变量申请、函数参数传递所使用的空间,是为函数调用的实现提供一些保存、恢复操作。 栈帧中主要存储的数据有局部变量、函数返回地址、函数参数。在一个程序中这些信息总共也没多少,所以一般情况下栈空间都特别小。 而且栈空间用户无法操作,是由编译器和操作系统决定的。
堆可不一样,堆是一块用户可以操作的空间,可以存储任何数据,包括音视频、数据库等等。用户可以自由操作,和编译器没啥关系,和操作系统关系比较大,堆的空间可大可小,看你自己的需求,以及你电脑的内存条大小。
因此,决定栈不能太大。
网友评论