两个对象的内存图

 1、类进入方法区

2、main方法进栈,(通过main方法不断让方法入栈,方法一旦执行完就弹出,方法入栈),栈中的方法都是通过地址寻到堆中的对象,然后堆中的通过地址寻找方法区中的成员方法

3、在栈中执行创建对象的代码,在堆中创建对象(new xxx),对象在堆中,对象的地址保存在栈中的变量中如:one,two

堆中会新建成员变量

但是堆中只保存成员方法的地址,原因是我们只要方法的返回的结果,不关心中间的变化,不需要重新在堆中浪费空间再去新建方法。

猜你喜欢

转载自blog.csdn.net/mddCSDN/article/details/89159050