一个对象的内存图

一个对象的内存图

 1.创建one对象时会创建一个堆,one指向堆地址

 2.修改one.brand成员变量时,先从one找到堆地址,接着再从堆中找到brand变量,然后修改brand的值为"苹果"

 3.修改one.price成员变量时,先从one找到堆地址,接着再从堆中找到price变量,然后修改price的值为8388.0

 4.修改one.color成员变量时,先从one找到堆地址,接着再从堆中找到color变量,然后修改color的值为黑色

 5.调用one.call()方法,先从one找到堆地址,接着从堆中找到成员方法所在方法区中的地址,然后在从方法区中找到one.call()方法,接着将one.call()方法压入栈.

  1).初始化who参数的值为"乔布斯"

  2).输出"给xxx打电话"

  3).将one.call()方法退栈

  4).返回到调用one.call()方法中的下一条语句

 6.调用one.sendMessage()方法,先从one找到堆地址,接着从堆中找到成员方法所在方法区中的地址,然后在从方法区中找到one.sendMessage()方法,接着将one.sendMessage()方法压入栈.

  1).输出"群发短信"

  2).将one.sendMessage()方法退栈

  3).返回到调用one.sendMessage()方法中的下一条语句

 7.main方法结束,将main方法退栈;

微信截图_20200209153935