单例模式
java中的:设计模式23种,至少要学会其中5种设计模式
懒汉模式
线程不安全,延迟初始化,严格意义上不是单例模式
public class Singleton{
private static Singleton instance;
private Singleton(){
}
public static Singleton getInstance(){
if(instance == null){
instance == new Singleton();
}
return instance;
}
}
饿汉模式
线程安全,比较常用,但容易产生垃圾,因为一开始就初始化
public class Singleton{
private static Singleton instance = new Singleton();
private Singleton(){
}
public static Singleton getInstance(){
return instance;
}
}
静态内部类模式
public class Singleton{
private Singleton(){
}
public static Singleton getInstance(){
return Inner.intance;
}
private static class Inner{
private static final Singleton instance = new Singleton();
}
}