JDBC4.0

您所在的位置:网站首页 nbt的全限定类名 JDBC4.0

JDBC4.0

2023-05-10 17:44| 来源: 网络整理| 查看: 265

一、首先jdbc的SPi加载机制是: driverManager --> 加载Drivers 二、解析 1.首先driverManager 的全限定类名叫 java.sql.DriverManager,他是使用 启动类加载器BootstrapClassLoader去加载的

2.在加载 DriverManager过程中,DriverManager有一行静态代码

ServiceLoader loadedDrivers = ServiceLoader.load(Driver.class);

3.这个ServiceLoader.load()方法里面是这样的

public static ServiceLoader load(Class service) { //这里去获取上下文的加载器 ClassLoader cl = Thread.currentThread().getContextClassLoader(); return new ServiceLoader(Reflection.getCallerClass(), service, cl); }

4.可是Driver.class是个接口,只有去加载他的实现类,举个例子 com.alibaba.druid.proxy.DruidDriver,这个类就是实现了Driver接口,这个类明显只能应用类加载器才能加载

5结论: 启动类加载器在加载DriverManager的过程中,调起了应用类加载器,这就是所谓的破坏双亲委派模型。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3