Java程序(二)-创建对象的整个过程

JVM-Java Virtual Machine(Java虚拟机)为我们分配三块重要的内存空间,栈内存,堆内存以及方法区。

一、创建对象的过程

第一步:javac将Test.java源文件编译成Test.class字节码文件-在磁盘中进行。(有main方法的先)

第二步:Test.class文件加载进方法区。

第三步:Test.class文件加载进方法区的时候,main主函数就要压进栈内存了。

第四步:javac将Person.java源文件编译成Person.class字节码文件-磁盘中进行。(无main方法后)

第五步:JVM将Person.class字节码文件加载进方法区

第六步:以类为模板创建对象Person  person=new Person()在堆内存中开辟一块空间。

       注意:这片空间本来就是有地址的。内存中只是提供一块地址,不一定代表它就是是无名地。

二、引用对象成员方法和成员变量原理(基于创建对象后)

第七步:main方法内创建一个叫做sun的句柄(虚拟地址),并把对象的地址传递给它。

第八步:调用run方法,给num传递1000。

第九步:run方法出栈(栈:先进后出)

第十步:main方法出栈

如此图所示:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值