代码对应的内存执行流程

代码对应的内存执行流程:
一.注意事项

  1. 首先栈内储存的是局部变量,基础类型的局部变量也分配在栈中,且只占用一块内存。
  2. 凡是new出来的,都在堆中做分配
  3. 方法中的形参等于局部变量代码对应的内存执行流程
    运行时
    1.首先找到包含main方法的类,然后将该类加载到方法区中,此时方法区包含该类的成员变量和方法。
    2.执行main方法,main函数属于java文件,现在方法区里开辟一个空间用于执行文件, 在开辟一片区域用于执行lianxi.java。
    3.main函数进展以后开始执行里面的代码, lianxi l1= 进入栈 ,然后在对里面new了一个lianxi 空间,在这个空间中开始加载属性(String name , int age,String food…),加载完以后产生一个相对应的地址(0x110),然后就会把这个地址赋给lianxi l1= ,此时lianxi l1 就会指向这个内存空间。
    4.调用setname()方法,让setname()进栈之后进行赋值,将传过来的名字赋给空间里的名字,此时"老马"取代默认值null,执行完毕以后出栈。
    5.调用setage()给int age进行赋值,此时59取代默认值0,然后执行出栈。
    6 调用setfood()给String food赋值,西餐取代默认值null,然后执行出栈。
    7.依次调用getname,getage,getfood进栈,执行完之后依次出栈。
    8执行完以后 main函数出栈。