堆和栈 栈:由系统自动分配,速度较快。但程序员是无法控制的。(栈就像装数据的桶或箱子,先进后出) 堆:是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便。 使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。 使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。比喻很形象,说的很通俗易懂,不知道你是否有点收获。