首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

加载数据库驱动的有关问题

2012-09-02 
加载数据库驱动的问题Class.forName(org.gjt.mm.mysql.Driver) 这句反复调用会有什么情况发生?是只调用

加载数据库驱动的问题
Class.forName("org.gjt.mm.mysql.Driver") 这句反复调用会有什么情况发生?
是只调用一次,还是不断的分配资源?

[解决办法]
好像应该只加载一次吧!
他好像是要先判断你加载的类是不是已经被加载了,没加载的话才加载。
[解决办法]
简单做一实验即可


public class Test {

public static void main(String[] args) {
try {
Class<?> a = Class.forName("org.gjt.mm.mysql.Driver");
Class<?> a1 = Class.forName("org.gjt.mm.mysql.Driver");
System.out.println(a == a1);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
打印出来为true,证明是同一对象,这里不担心对象过多的情况,不存在,因为是单例,既然是单例,所以也可以忽略两次加载是时间的差异,不过加载驱动,1次即可,多了没用
[解决办法]
用反射加载,应该只是在刚开始的时候加载一次

热点排行