Java-对象内存图

序言
栈:一般存放基本数据类型
堆:存放对象(Cat cat ,数组等)
方法区:常量池(常量,比如字符串),类加载信息

一、单个对象内存图

1.成员变量

image


2.成员方法

image


二、多个对象内存图

1.内存指向

image


2.成员变量

image


3.成员方法

  • 调用完成,从栈内存消失

image


4.结论

  • 方法可以共用成员变量各用各的

三、多个对象指向相同内存图

1.成员变量

image


2.结论

  • 指向的是同一个堆内存地址

四、总结

1.先加载Person类信息:属性与方法
2.在中分配空间
3.进行默认初始化,再显示初始化(int age = 90),最后执行构造方法初始化
4.把中的地址赋给p,p就指向对象--p是对象的引用,或者叫对象名
5.当执行到方法时,就会开辟独立的空间(栈)
6.方法执行完毕/执行到return就会返回到调用方法的地方
7.继续执行后续代码
8.当main方法(栈)执行完毕,程序退出


image

posted @ 2021-10-06 10:33  难删亦删  阅读(216)  评论(0)    收藏  举报