方案一:使用锁机制
public static DbInfo instance(){
synchronized(DbInfo.class){
if(dbinfo == null){
dbinfo = new DbInfo(); //系统保证只New一次
dbinfo.setDriver("com.oracle.Driver"); //读取配置文件,给属性赋值
dbinfo.setIp("10.0.8.1");
dbinfo.setUsername("aa");
dbinfo.setPassword("123456");
}
}
return dbinfo;
}
方案二:利用静态变量只能被new一次的特点
private static DbInfo dbinfo = new DbInfo(); //单例,内存中唯一一块记录数据库连接信息的地方
private DbInfo(){
//构造函数需要private,不能让外面new这个Class
//读取配置文件,给属性赋值
dbinfo.setDriver("com.oracle.Driver");
dbinfo.setIp("10.0.8.1");
dbinfo.setUsername("aa");
dbinfo.setPassword("123456");
}
方案三:
private static DbInfo dbinfo; //单例,内存中唯一一块记录数据库连接信息的地方
static{
dbinfo = new DbInfo();
dbinfo.setDriver("com.oracle.Driver");
dbinfo.setIp("10.0.8.1");
dbinfo.setUsername("aa");
dbinfo.setPassword("123456");
}