类加载过程:
单JVM第一次使用这个类的时候,首先根据classpath去找class文件,(如果没配置就在当前位置找),
找到class文件后,就会将类加载到方法区,分别为静态成员变量加载到静态区域,费静态成员加载到费静态区域
在静态区域为所有的静态成员变量分配空间,赋默认值;
为所有的静态成员变量显示赋值
执行所有的的静态代码块
等到静态代码块都执行完毕了,类加载完毕
对象的创建过程:
先去方法区找对应的类是否存在,如果不存在那就先去加载类,
类加载完成之后,去堆内存中开辟空间,
为所有的非静态成员变量分配空间,赋默认值,
调用构造函数进栈,
构造函数调用之前,会执行隐式三步,执行父类构造函数,为父类非静态成员变量显示赋值,执行构造代码块。
构造函数执行完成,对象创建完成。