一个对象的内存占用
首先程序读取的时候,先从方法区找到主程序,也就是main函数。
main函数进栈,
第一行程序:创建一个新对象,存放在堆中,地址为666.
堆中变量会读取方法区中类的成员变量,若进行赋值直接在堆中进行,没赋值之前为默认值。堆中的成员方法存放的是成员方法在方法区中的地址。
第五行程序:对象成员变量进行赋值,直接通过对象名称找到对象在堆中的地址,对成员变量在堆中进行赋值。第六行,第七行同理。
第十一行程序:调用成员方法,通过寻找对象名称保存的地址,找到堆中的对象,再通过堆中成员方法存放的地址找到方法区中的成员方法,找到该成员方法后进栈,执行完毕后出栈。
当主程序运行完毕后,主程序出栈,内存清空。程序结束。