类加载的过程
类加载过程:即 JVM把编译好的 class文件中的类信息加载到内存中,并进行解析生成 对应的 class对象
加载——验证——准备——解析——初始化
加载:把 class文件(可以是本地编译生成的 也可以是jar包中的)中的内容加载到内存中
验证:验证加载的类是否存在语法错误(符合java虚拟机额规范)
准备:为类变量(类的静态变量)分配内存并赋予初值(这个初值是java 虚拟机为不同类型的变量设置的默认初值)
解析:将常量池中的符号引用替换为直接引用(内存地址)
初始化:对类的静态变量、静态代码块执行初始化操作。
双亲委派机制:
某个特定的类加载器在收到类加载的请求时,首先是将加载任务委托给父类加载器,依次递归,只有当父类加载器无法完成这个加载任务时,才需要自己加载。