美文网首页
类的加载、连接和初始化

类的加载、连接和初始化

作者: 叫我民哥L | 来源:发表于2018-09-28 19:54 被阅读0次

类加载器加载Class大致过程:

  • S1: 检测此Class是否载入过(即在缓冲区是否有此class),如果有则直接进入S8,否则执行S2
  • S2: 检查父类加载器是否存在,如果存在则执行S3;如果不存在(如果没有父类加载器,要么parent一定是根类加载器,要么本身就是根类加载器),则执行S4
  • S3: 请求使用父类加载器载入目标类,如果成功则跳到S8,否则执行S5
  • S4: 请求使用根类加载器载入目标类,如果成功则跳到S8,否则执行S7
  • S5: 当前类加载器尝试寻找Class文件(从此ClassLoader相关路径中寻找),如果找到则执行S6;否则执行S7
  • S6: 从文件中载入Class,成功后执行S8
  • S7: 抛出ClassNotFoundException异常
  • S8: 返回对应的java.lang.Class对象


    类加载器加载Class.jpg

相关文章

  • 第五课、类的加载连接与初始化过程详解

    类的加载、连接与初始化过程详解 类的加载、连接与初始化 1、过程:加载-->连接(验证-->准备-->解析) --...

  • JVM(五)类的初始化

    类的初始化 类的初始化步骤 假如类还未被加载和连接,那就先进行加载和连接 假如类存在直接父类,并且这个父类还未被初...

  • 初识反射

    Java类的加载,连接和初始化 当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化...

  • 类加载连接初始化阶段

    一、类的生命周期和加载阶段概述 类的生命周期 类的加载连接初始化过程 二、类的加载连接初始化详细过程  加载 使用...

  • JVM内存模型

    1、类的加载、连接和初始化 加载:查找并加载类的二进制数据(字节码文件) 连接: 验证:确...

  • 类加载

    一、类加载器 二、类加载过程 加载 连接 验证 准备 解析 初始化

  • 反射

    类加载器:加载过程 加载,连接,初始化 分类: Bootstrap ClassLoader 根类加载器:核心类的加...

  • ClassLoader

    1. 类的加载、连接、初始化 加载:查找并加载类的二进制数据 连接:-- 验证: 确保被加载类的正确性-- 准备:...

  • 04. 类初始化

    类的初始化步骤 假如这个类还没有被加载和连接,那就先进行加载和连接 假如这个类存在直接父类,而且这个父类还没有被初...

  • Java类加载问题

    类加载过程类加载过程:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。一个非数组类的加载阶段(...

网友评论

      本文标题:类的加载、连接和初始化

      本文链接:https://www.haomeiwen.com/subject/nsmuoftx.html