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方法出栈

如此图所示:

java的创建模式分为 简述java创建对象的过程_开发语言