java单例设计模式

1、饿汉单例设计模式

特点:不管是否使用都会有一个初始化的实例在内存中,不存在线程安全问题

public class Singleton{
    private static Singleton instance=new Singleton();
    private Singleton(){}
    pulic static Singleton getInstance(){
        return instance;
    }
}

2、懒汉单例设计模式
特点:实现了延迟加载,但在多线程情况下可能会出现问题,不能保证线程安全(可通过锁机制解决线程安全问题)

public class Singleton{
    private static Singleton instance;
    private Singleton(){}
    public static sychronized Singleton getInstance(){
        if(instance==null)//提高效率
            sychronized(Singleton.class){//解决线程安全问题
                if(instance==null)
                    instance=new Singleton();
            }
        return instance;
    }
}
原文地址:https://www.cnblogs.com/running-fish/p/9752854.html