双亲委派机制

一级标题

  1. 从META-INF/services/java.sql.Driver文件得到实现类名字DriverA
    Class.forName("xx.xx.DriverA")来加载实现类
  2. Class.forName()方法默认使用当前类的ClassLoader,JDBC是在DriverManager类里调用Driver的,当前类也就是DriverManager,它的加载器是BootstrapClassLoader。
  3. 用BootstrapClassLoader去加载非rt.jar包里的类xx.xx.DriverA,就会找不到
    4.要加载xx.xx.DriverA需要用到AppClassLoader或其他自定义ClassLoader
    最终矛盾出现在,要在BootstrapClassLoader加载的类里,调用AppClassLoader去加载实现类
    这个原因导致无法破坏双亲委派机制

spi, jdbc,osgi都属于破坏双亲委派机制

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容