//懒汉式 非线程安全
public class SingleFactory{
private static SingleFactory instance;
private SingleFactory(){};
public static SingleFactory getInstance(){
if(instance==null){
instance=new SingleFactory();
}
return instance;
}
}
//懒汉式 线程安全
public class SingleFactory{
private static SingleFactory instance;
private SingleFactory(){};
public static synchronized SingleFactory getInstance(){
if(instance==null){
instance=new SingleFactory();
}
return instance;
}
}
//懒汉式 双重锁保证线程安全
public class SingleFactory{
private volatile static SingleFactory instance;
private SingleFactory(){};
public static SingleFactory getInstance(){
if(instance==null){
scychronized(SingleFactory.class){
if(instance==null){
instance=new SingleFactory();
}
}
}
return instance;
}
}
//饿汉式,线程安全
public class SingleFactory{
private static SingleFactory instance = new SingleFactory();
private SingleFactory(){};
public static SingleFactory getInstance(){
return instance;
}
}
常用四种单例模式(Java)
最新推荐文章于 2024-07-08 17:49:05 发布