java new一个对象的过程

Javanew一个对象的时候,会先查看对象所属的类有没有加载到内存中,如果没有,就会先通过类的全限定名来加载。加载并初始化完成后,再进行对象的创建工作。

①加载和初始化类

通过双亲委派模型进行类的加载,先将请求传送给父类加载器,如果父类无法完成这个加载请求,子加载器才会尝试自己去加载。

初始化也是先加载父类后加载子类。最终方法区会存储静态变量、类初始化代码、实例变量、实例初始化代码、实例方法等。

②创建对象

在堆中开辟对象的所需的内存。然后对实例变量和初始化方法进行执行。还需要在栈中定义了类引用变量,然后将堆内对象的地址赋值给引用变量。

猜你喜欢

转载自blog.csdn.net/wuzzi/article/details/94720326