Class.forname("com.mysql.jkdc.Driver");想必大家都清楚,这是jdbc中注册驱动。
但是为什么没有采用Class.forname(path).newInstance();
因为:
在JDBC规范中明确要求这个Driver类必须向DriverManager注册自己,也就是说每个Driver都要写有静态代码块
static{
DriverManager.registerDriver(new Driver());
}
而Class.forname(path)就是要求jvm加载指定路径的类,那当然也要执行它的static代码块。
所以我们就没有必要在newInstance()了。