Class.forName
一经调用,就会把类载入虚拟机.
这时java会执行该类的静态初始化.
下面是mysql的Driver代码.

public class Driver extends NonRegisteringDriver implements java.sql.Driver {
 static {
  try {
   java.sql.DriverManager.registerDriver(new Driver());
  } catch (SQLException E) {
   throw new RuntimeException("Can't register driver!");
  }
 }
 public Driver() throws SQLException {
 }
}

所以说,你调用forName,等于运行static代码块的内容.
他会向DriverManager注册自身.
java.sql.DriverManager.registerDriver(new Driver());

然后你从DriverManager得到数据库的连接.
                  Connection conn=DriverManager.getConnection(url);

posted on 2012-07-28 14:00  Death_Fat  阅读(127)  评论(0)    收藏  举报