单例模式

public class SingletonFactory{

    public static class Singleton1 {
        private static Singleton1 instance = new Singleton1();
        private Singleton1(){
        }
        public static Singleton1 getInstance(){
            return instance;
        }
    }
    
    public static class Singleton2{
        private static Singleton2 instance = null;
        private Singleton2(){
            
        }
        public static Singleton2 getInstance(){
            if(instance == null){
                instance = new Singleton2();
            }
            return instance;
        }
    }
    
    public static class Singleton3{
        private static Singleton3 instance = null;
        private Singleton3(){
            
        }
        public static synchronized Singleton3 getInstance(){
            if(instance == null){
                instance = new Singleton3();
            }
            return instance;
        }
    }
    
    public static class Singleton4{
        private static Singleton4 instance = null;
        private Singleton4(){
            
        }
        public static  Singleton4 getInstance(){
            if(instance == null){
                synchronized (Singleton4.class) {
                    if(instance == null){
                        instance = new Singleton4();
                    }    
                }
            }
            return instance;
        }
    }
    
    public static class Singleton5{
        private static volatile Singleton5 instance = null;
        private Singleton5(){
            
        }
        public static  Singleton5 getInstance(){
            if(instance == null){
                synchronized (Sinlgleton5.class) {
                    if(instance == null){
                        instance = new Singleton5();
                    }    
                }
            }
            return instance;
        }
    }
    public static class Singleton6{
        private static class InstanceHolder{
            public static Singleton6 instance = new Singleton6();
        }
        public static Singleton6 getInstance(){
            return InstanceHolder.instance;
        }
        private Singleton6(){
            
        }
    }
}

 

posted @ 2015-10-06 10:05  √珞珈搬砖工√  阅读(68)  评论(0)    收藏  举报