1.单例模式——饿汉式
//单例
public class DBUTil {
//此时db就是一个常量,一般常量,会使用一个关键字修饰一下:final
加在静态后边
private static final DBUTil db=new DBUTil();
private DBUTil(){
}
//公开、静态的方法来调用
public static DBUTil getInst(){
return db;
}
}
public class test {
public static void main(String[] args) {
DBUTil til1 = DBUTil.getInst();
DBUTil til2 = DBUTil.getInst();
DBUTil til3 = DBUTil.getInst();
//创建多少次,地址一样
System.out.println(til1);
System.out.println(til3);
System.out.println(til2);
}
}
2.单例模式——懒汉式
//单例
public class DBUTil {
private static DBUTil db = null;
private DBUTil() {
}
//公开、静态的方法来调用
//synchronized:同步,强行使用同时达到的调用者随机排队然后逐个调用getInst方法
public static synchronized DBUTil getInst() {
if (db == null) {
db = new DBUTil();
} else {
}
return db;
}
}