大厂面试题——手写单例模式(饿汉式和懒汉式)
1、饿汉式:不管是否需要对象 都先把对象创建出来
public class Singleton {
//构造器私有 直接提供 该类的对象
public static final Singleton SINGLETON = new Singleton();
private Singleton(){
}
}
2、懒汉式:当真正需要的时候 才去创建对象
class Singleton{
//对变量的声明
private static Singleton singleton;
//构造器私有化
private Sintleton(){
}
public static Singleton getSingleton(){
//当需要对象时再去创建
if(singleton == null){
synchronized(Singleton.class){
if(singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}