一、栈
当方法运行时会进入栈中,这叫压栈(入栈);运行完成之后,会出栈(弹栈)。
栈中存在的:
1.运行时方法;
2.运行时变量;
3.对象的地址。

二、堆
new出来的对象都保存在堆中,成员变量初始化时也存在堆中;成员方法的地址存在堆中。
堆中存在的:
1.对象
2.成员变量
2.成员方法的地址
三、方法区
方法存在方法区。
方法去存在的:
1.成员方法。
总结:运行方法时,在栈中,通过对象的地址打点调用堆中的方法,在堆中,通过方法的地址找到方法区对应的方法。运行方法时,先入栈,等方法运行完成后,再出栈。