类加载器工作原理
2017-04-24 10:29:24 2 举报
类加载的过程,以及类加载器的工作原理
作者其他创作
大纲/内容
使用父类加载器载入目标
加载:将类加载到内存当中,并对应创建一个 java.lang.Class 对象
N
返回对应的java.lang.Class实例
3)如果类中存在初始化语句、那么系统会依次执行初始化语句(比如static{} 静态代码块)
使用根类加载器载入目标
判断加载是否成功
从当前类加载器尝试寻找Class文件(在与当前ClassLoader相关的路径中寻找)
判断缓存区中是否加载过该Class
Y
类加载器的工作原理
初始化
2)如果该类有直接父类还没有被初始化,那么系统会先初始化其直接父类。也就是说对一个类进行初始化之前,肯定会初始化java.lang.Object这个父类
连接:将类的二进制数据合并到JRE(java运行时环境),在这个过程中,会验证被加载类是否有正确的内部结构、其次为类的类变量(静态变量)分配内存,并设置默认初始值,最后将类的二进制数据中的符号引用替换成直接引用
类加载的过程
抛出ClassNotFoundException 异常
判断该类是否存在父类加载器
从文件中载入Class
1)如果该类还没有被加载、连接,那么程序先进行加载、连接的步骤
0 条评论
下一页