class.forName(org.postgresql.Driver)驱动注册过程涉及到的源码中的方法

本文探讨了Java中的JDBC驱动注册过程,特别是`class.forName("org.postgresql.Driver")`执行时涉及的方法。`DriverManager`类中的`CopyOnWriteArrayList`用于存储注册的JDBC驱动,确保线程安全。`registerDriver`方法负责注册驱动,同时提到了`@CallerSensitive`注解用于防止安全漏洞,确保找到实际发起反射请求的类。
摘要由CSDN通过智能技术生成

当执行class.forName(“org.postgresql.Driver”);加载驱动时执行以下方法

org.postgresql.Driver.java

public class Driver implements java.sql.Driver {
   

  private static Driver registeredDriver;//静态变量,再注册方法中指向自己
  private static final Logger PARENT_LOGGER = Logger.getLogger("org.postgresql");
  private static final Logger LOGGER = Logger.getLogger("org.postgresql.Driver");
  private static SharedTimer sharedTimer = new SharedTimer();
static {
  //在类被加载时自动执行
    try {
      register();//执行注册驱动方法
    } catch (SQLException e) {
      throw new ExceptionInInitializerError(e);
    }
  }

/*
*用来注册驱动
*/
  public static void register
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值