栈是一个内存的数组,是一个后进后出的数据结构。数据只能从栈的顶端插入或删除。把数据放到栈顶称为入栈,从栈顶删除数据称为出栈。堆是一块内存区域,在堆里可以分配大块的内存储存某类型的数据对象。在堆里的内存能够以任意顺序存入或移除。虽然程序可以再堆里保存数据,当不能显示地删除,由GC负责清除。