堆 理解成动态生成对象的地方 对象原型放这里 栈 理解成程序运行的地方 放程序的东西,程序中运行的int i,byte b等这些小的东西,作为定长的单位(基础数据类型)直接在栈里面生成 对象的话,new操作个人理解只是告诉编译器你去堆里面给我生成个东西,后面我就拿这个东西(地址&引用)继续操作 因此栈里面存了一些程序里面看得到的基本数据类型或者对象引用等 方法区 放了一些类的定义等