java类加载与卸载 加载 class文件加载到内存 验证 验证class文件是否符合当前jvm规范 准备 给类变量(static)设置初始值 解析 Class文件的符号替换为直接引用(指针) 初始化 开始执行类中定义的Java程序代码 使用 卸载 java对象加载过程 类加载 分配内存 初始化零值 设置对象头 执行init()方法 双亲委派模型 一个类加载器需要加载类,那么首先它会把这个类请求委派给他的父类加载器完成 每层都是如此,一直递归到顶层,当父类加载器无法完成加载请求,子类才会加载。 why? 1.减少类的重复加载 2.防止核心api被篡改