ClassLoader的双亲委派机制,源码
Posted llf7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ClassLoader的双亲委派机制,源码相关的知识,希望对你有一定的参考价值。
自底而上查看类是否加载过:
- 1 检查类对象是否被加载过
- 2 如果被加载过,直接返回Class对象
- 3 如果没有被加载过,则调用parent中的loadClass方法,重新回到第 1 步
( 如果parent为空,则调用native的findBootstrapClassOrNull方法)
自顶而下尝试加载类:
- 1 使用findClass方法,从硬盘上查找是否有对应的字节码文件
- 有则加载该字节码进内存
- 没有该字节码文件,则抛出异常。
会捕获所有parent的loadClass方法的异常。
如果自顶而下没有找到该字节码文件,那么最后会从用户自定义的类加载器中查找字节码文件
此时的异常没有被捕获,会被抛出。
以上是关于ClassLoader的双亲委派机制,源码的主要内容,如果未能解决你的问题,请参考以下文章