解决方案 »

  1.   

    Class.forName("com.mysql.jdbc.Driver");   只加载类
    Class.forName("com.mysql.jdbc.Driver").newInstance();   实例化对象Class.forName("")是为了加载类,从而调用里面的静态代码块,然后注册驱动
      

  2.   


    查阅资料得
    调用forName("X") 将导致名为 X 的类被初始化。初始化的过程中会执行该类的静态代码块对于楼上的补充
    Cl ass.forName("com.mysql.jdbc.Driver");   //只加载类  补充 除了加载之外还完成了连接和初始化的操作。
    ClassLoader cl = new ClassLoader();   
    cl.loadClass("com.mysql.jdbc.Driver");  //只加载类  
      

  3.   

    Class.forName
    其实也是调用了loadClass的方法。
    然后又做了一些数据加载的操作,但是构造方法是未执行的,
      

  4.   

    这个问题,我是这么理顺的:import com.mysql.jdbc.Driver;
    .
    .
    .
    java.sql.DriverManager.registerDriver(new Driver());我是这么写的。不用Class.forName,ClassLoader。运行无疑是没有问题的。高手说说意义上有什么不妥吗?
      

  5.   


    new Driver()  是对Driver类的主动使用,会导致这个类被jvm  加载链接和初始化。
      

  6.   


    new Driver()  是对Driver类的主动使用,会导致这个类被jvm  加载链接和初始化。
    那就对了。