首页 > 编程语言 > 详细

16.Java基础_对象内存图

时间:2019-11-28 19:32:36      阅读:75      评论:0      收藏:0      [点我收藏+]
  • 单个对象

1.进入main函数,生成main函数的栈空间

技术分享图片

 2.先在mian函数的栈空间里产生一个Student变量(以后会用来存储Studnet对象的首地址),然后进入Student类,在堆内存创建String和int类型的变量,并赋上初值

技术分享图片

3.将在堆内存的对象的首地址赋值给在栈内存的Studnet变量s,即这个对象创建完毕。然后该程序输出了该对象的地址值

技术分享图片

4.取值拼接输出,然后再修改值,拼接输出

技术分享图片

5.调用Student类的函数,创建study函数的栈空间,然后执行函数代码,执行完之后消除栈空间(下一个函数相同),返回main函数,最后消除main函数栈空间

技术分享图片

 

  • 多个对象

与单个对象创建过程相同,注意:不同对象共享类函数的使用(类在内存空间之中,当使用类函数的时候,提供类函数的地址)

技术分享图片

 

  • 多个对象指向相同内存

技术分享图片

 

注意:对象的成员变量(如name,age)在堆内存,对象的局部变量(在类函数内创建的基本类型变量)在栈内存

 

 

 

16.Java基础_对象内存图

原文:https://www.cnblogs.com/NiBosS/p/11951385.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!