把代码粘贴出来,没用注释都去掉。

凡事new出来的都是堆当中


对于对象来说,他的成员方法实际上保存的是它的地址。看绿色箭头的部分

红色箭头部分

根据one可以找到0x666的堆,成员变量直接就是红色部分,成员方法是红色先,然后再走绿色部分。
call方法要想运行,也要进栈,进栈为什么也叫做压栈。main方法是先来的,先来在底下。后来的后来居上,这就叫做压栈

蓝色部分运行call方法。执行后,黑色的差号。 出栈也叫作弹栈,方法调用后会立刻从栈中消失。那么main方法就重见天日

main方法重见天日后,就会继续调用sendMessage方法。sendMessage也进栈

调用sendMessage方法
main方法完事后也是出栈的

这就是完整的当我们去创建对象,访问成员变量,调用成员方法,内存当中栈内存,堆内存和方法区所发生的事情

相关文章:

  • 2021-09-08
  • 2021-10-18
  • 2022-02-28
  • 2021-06-16
  • 2021-08-16
  • 2022-02-04
  • 2021-07-28
  • 2021-06-27
猜你喜欢
  • 2021-11-14
  • 2021-12-13
  • 2021-09-19
  • 2021-10-23
  • 2021-12-01
  • 2021-09-22
  • 2021-09-29
相关资源
相似解决方案