栈在汉语中的解释是1.储存货物或供旅客住宿的房屋。2.养牲畜的竹、木栅栏。
在计算机中栈(stack)又名堆栈,是一种运算受限的线性表。栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出(LIFO,last-in-first-out)的原则存储数据。
栈是用来存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new出来的对象)或者常量池中。栈是为执行线程留出的内存空间。当函数被调用的时候,栈顶为局部变量和一些 bookkeeping 数据预留块。
栈附属于线程,因此当线程结束时栈被回收。堆通常通过运行时在应用程序启动时被分配,当应用程序(进程)退出时被回收