老铁们想知道 Class.forName(“com.mysql.cj.jdbc.Driver“) 这个加载类是干啥用的吗

老铁们,JDBC咱们都用过吧,大家好不好奇
A :Class.forName(“com.mysql.cj.jdbc.Driver”);
B :Connection conn=DriverManager.getConnection(url,user,password);
这俩有什么关系

看起来这没啥关系呀,那他俩为啥要写在一起呢?
今天 我就来给你解开它们的神秘面纱
我都知道 Class.forName()是要加载一个类,不知道大家还记得不记得类被加载时是会执行静态代码块的,好像执行之一次
所以A和B看似没关系,其实它们俩有“不可告人的秘密”,我敢打保证com.mysql.cj.jdbc.Driver这个类绝对有个static代码块,其中肯定有与B相关的代码结构

源码让我给找到了Driver这个类中有DriverManager,所以A和B这下子就有联系了吧
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值