zoukankan      html  css  js  c++  java
  • 阶段1 语言基础+高级_1-2 -面向对象和封装_7一个对象的内存图


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

    凡事new出来的都是堆当中


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

    红色箭头部分




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

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

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

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

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

  • 相关阅读:
    hdu 4474 转化为bfs + 一个巧妙的剪枝~
    数据结构几类排序的总结和完整代码 待续。。
    poj 2135 Farm Tour
    hdu 4374 (单调队列+dp)
    poj2391 Ombrophobic Bovines 拆点连边要注意
    hdu3507
    hdu1506
    poj2175
    poj3308
    poj3155 Hard Life
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11194427.html
Copyright © 2011-2022 走看看