图片尽管收藏,如果转载请标明出处哦!
总结
ClassLoader
是用来加载Class
的。它负责将Class
的字节码形式转换成内存形式的Class
对象。JVM
运行并不是一次性加载所需要的全部类的,它是按需加载,也就是延迟加载。遇到了一个未知的类,JVM
的策略是使用调用者Class
对象的ClassLoader
来加载当前未知的类。- 自定义类加载器不易破坏双亲委派规则,不要轻易覆盖
loadClass
方法。否则可能会导致自定义加载器无法加载内置的核心类库 - 双亲委派规则可能会变成三亲委派,四亲委派,取决于你使用的父加载器是谁,它会一直递归委派到根加载器。