问题:堆栈的理解
运行中的程序使用两个内存区域来存储数据:堆和栈。
栈是一个内存数组,后进先出的数据结构。
栈只能从栈的顶端插入和删除,添加数据到栈顶叫入栈,从栈顶删除数据叫出栈。
堆是一块内存区域,在堆里可以分配大块的内存用于存储某类型的数据。
与栈不同,堆里的内存可以任意顺序存入和移除。移除堆里的数据靠GC,不能显式地删除它们。
举例说明:对于值类型,数据存放在栈里。对于引用类型,实际数据存放在堆里面而引用存放在栈里。