面向对象内存图分析

1.单个对象内存图流程分析

https://kdocs.cn/l/cuQvFYJirzaR?linkname=150996176

1.test类因为有主方法,所以进入方法区(主方法是程序的入口)

2.主方法自动进栈,执行遇到student类型的变量(类是引用数据类型),所以student类进入方法区

3有new进堆,开辟空间,产生地址

4.new student相当于创建对象,而对象是根据类创建出来的,所以类里面有什么,空间里就有什么

5.空间有成员变量、成员方法,现在还未赋值,所以成员变量均为默认值。

6.成员方法则不会直接进入空间,而是划分一块区域记录成员方法的引用地址,将来根据地址找到成员方法进行使用

7.完成前5步,才会把地址交给stu1

.

2.多个对象内存图流程分析

https://kdocs.cn/l/cuQvFYJirzaR?linkname=150996197

3.两个引用指向相同内存图

https://kdocs.cn/l/cuQvFYJirzaR?linkname=150996198

stu1储存的是地址,将stu1赋值给stu2,相当于把stu1的地址复制了一份给stu2,两者通过地址找到的是同一个空间

posted @ 2024-11-20 11:07  直実  阅读(1)  评论(0编辑  收藏  举报