类加载机制
1.过程:加载-->连接-->初始化
加载:加载类的字节码文件,将类的信息加载到方法区中(类的静态变量,类的静态代码块,常量等)
连接:验证字节码文件是否符合规范,为方法区中的类信息分配内存,为其设置初始值
初始化:在堆空间中创建一个Class作为方法区中类信息的访问入口
2. 类加载器:
a. BootStrapClassLoader:最顶层的类加载器,加载核心类库
b. ExtensionClassLoade:加载扩展类库
c. appClassLoade:加载用户ClassPath下的类
3. 双亲委派模型:
在类加载的时候,首先会判断是否被父类加载器加载过,如果记载过就不会再一次加载,防止类的重复加载