Java 关于单例模式(懒汉式与饿汉式的区别)
简单说下两个单例模式的不同点
懒汉式:
1.内部对象非final类型
2.线程安全
3.用到特定方法的时候才会实例化对象
饿汉式:
1.内部对象为final类型
2.在调用get方法之前,对象就已经实例化完毕
// 懒汉式
public class Singleton {
// 延迟加载保证多线程安全
Private volatile static Singleton singleton;
private Singleton(){}
public static Singleton getInstance(){
if(singleton == null){
synchronized(Singleton.class){
if(singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}
// 饿汉式
class SingletonHungry{
private final static SingletonHungry singletonHungry = new SingletonHungry();
private SingletonHungry(){}
// 务必使用static声明为类所属方法
public static SingletonHungry getInstance(){
return singletonHungry;
}
}
标签:Singleton,Java,饿汉,singleton,SingletonHungry,static,单例,懒汉 From: https://blog.51cto.com/u_13520184/6115605