单例模式:
1.私有化的无参构造 ,保证不能被外界访问该类的无参构造
2.创建私有化的静态对象实例,创建该类的实例对象
3.提供公有化的静态get实例对象方法,提供获得单例对象的方法,类.方法获取
饿汉式:不管是否被调用都先创建实例返回供别的方法调用
public class SingleTon{
private singleTon(){};
private static SingleTon singleTon = new SingleTon();
public static getSingleTon(){
return singleTon;
}
}
懒汉式:
public class SingleTon2{
private singleTon(){};
private SingleTon2 singleTon2 = null;
public static getSingleTon2(){
if(singleTon2==null){
singleTon2 = new SingleTon2();
}
return singleTon2;
}
}
线程安全的单例模式,懒汉式,再创建实例时加synchronized同步锁
public class SingleTon3{
private SingleTon3(){};
private static SingleTon3 singleTon3;
public static getSingleTon3(){
if(singleTon2 == null){
synchronized(SingleTon3.lass){
if(singleTon3==null){
singleTon3 = new SingleTon3;
}
}
}
return singleTon3;
}
}