剑指Offer-面试题2:实现Singleton模式- 高飞网

面试题2:实现Singleton模式

2017-02-13 17:32:27.0

多线程环境下的Singleton,加同步锁。

public class Singleton{
    private Singleton(){}
    private static Singleton s = null;
    private static Object o = new Object();
    public static Singleton getInstance(){
        if(s==null){
            synchronized(o){
                if(s==null){
                    s = new Singleton();
                }   
            }   
        }   
        return s;
    }   
}


利用静态类的初始化

public class Singleton{
    private Singleton(){}
    private static Singleton s = null;
    static class Inner{
        static Singleton s = new Singleton();
    }   
    public static Singleton getInstance(){
        return Inner.s;
    }   
}


上一篇:第1章 面试的流程
下一篇:2.3.1 数组