Class.forName()加载jdbc driver

Class.forName(xxx.xx.xx)返回的是一个类。
Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。
Class.forName("")的作用是要求JVM查找并加载指定的类,如果在类中有静态初始化器的话,JVM必然会执行该类的静态代码段。

而在JDBC规范中明确要求这个Driver类必须向DriverManager注册自己,即任何一个JDBC Driver的 Driver类的代码都必须类似如下:

public class MyJDBCDriver implements Driver {
   static {
     DriverManager.registerDriver(new MyJDBCDriver());
   }
}

既然在静态初始化器的中已经进行了注册,所以我们在使用JDBC时只需要Class.forName(XXX.XXX);就可以了。

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

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,...
    java小菜鸟阅读 2,637评论 0 15
  • 慌乱中迷失了方向 奋斗中结束了前程 过早或者过晚 只为了成为别人眼中的自己 黑暗中寻找希望 只为寻找点亮你的光芒 ...
    陶一丹阅读 211评论 0 0
  • 看你双手提行李 礼貌说谢谢 火车上你坐我背后 我既安静又活泼 莫名和你主动说了一句话 实习每一次出发 是我最开心的...
    桂晚境阅读 378评论 0 0
  • 盼望着,冬雪悄无声息的来了,一来就是不停,似久别的恋人,热烈而猛烈。。。 草儿青,似不想被掩盖,欲发恁青 花而露出...
    大秦帝国_da4c阅读 668评论 3 2