双亲委派模型
双亲委派模型:如果某个类加载器要加载某个类,它会先交给父类加载器加载,递归这个操作,如果上级加载器没有加载,这个类加载器才会加载这个类。
加载器
- Bootstrap Classloader:启动类加载器
- Extention Classloader:扩展类加载器,加载扩展的jar包
- App Classloader:系统类加载器,加载指定classpath下的jar包
- Customer Classloader:用户自定义加载器,可以加载指定路径的class
优点
双亲委派模型的优点是:
- 避免加载重复的类。先委派给父加载器,加载过了就不会再次加载
- 确保核心的类无法被篡改,即使被篡改了也是不同的类了。