阶段1 语言基础+高级_1-2 -面向对象和封装_7一个对象的内存图

Posted wangjunwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阶段1 语言基础+高级_1-2 -面向对象和封装_7一个对象的内存图相关的知识,希望对你有一定的参考价值。


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

凡事new出来的都是堆当中

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


技术图片
根据one可以找到0x666的堆,成员变量直接就是红色部分,成员方法是红色先,然后再走绿色部分。
call方法要想运行,也要进栈,进栈为什么也叫做压栈。main方法是先来的,先来在底下。后来的后来居上,这就叫做压栈
技术图片
蓝色部分运行call方法。执行后,黑色的差号。 出栈也叫作弹栈,方法调用后会立刻从栈中消失。那么main方法就重见天日
技术图片
main方法重见天日后,就会继续调用sendMessage方法。sendMessage也进栈
技术图片
调用sendMessage方法
main方法完事后也是出栈的

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

以上是关于阶段1 语言基础+高级_1-2 -面向对象和封装_7一个对象的内存图的主要内容,如果未能解决你的问题,请参考以下文章

低价好课:麦子学院爬虫框架Scrapy基础到高级阶段百度云高清完整

零基础php开发工程师视频教程全套,基础+进阶+项目实战(80G)

JavaEE安卓Web前端微信小程序等接近四百篇基于代码实战的技术文章

软考高级

2022年最新前端学习路线图

2022年最新前端学习路线图