码迷,mamicode.com
首页 > 编程语言 > 详细

java 单例模式

时间:2017-01-04 00:26:58      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:单例模式   单例类   对象   turn   java   --   同步   log   否则   

懒汉式
public class Singleton{

    //@单例类只能有一个实例
    //@单例类必须自行创建这个实例
    //@单例类必须给所有对象提供这一个实例//必须向整个系统提供这个这个实例
    private static Singleton uniqueInstance = null;
    private Singleton(){
        System.out.println("懒汉式单例---");
        
    }
    public static Singleton getInstance(){
        if(uniqueInstance == null){
            uniqueInstance = new Singleton();
        }
        return uniqueInstance;
    }
}
懒汉式(同步否则有危险)
public class Singleton{

    //@单例类只能有一个实例
    //@单例类必须自行创建这个实例
    //@单例类必须给所有对象提供这一个实例//必须向整个系统提供这个这个实例
    private static Singleton uniqueInstance = null;
    private Singleton(){
        System.out.println("懒汉式单例---");
        
    }
    public static synchronized Singleton getInstance(){
        if(uniqueInstance == null){
            uniqueInstance = new Singleton();
        }
        return uniqueInstance;
    }
}
饿汉式
public class Singleton {

    private Singleton() {
        System.out.println("饿汉式单例---");
    }
    
    private static Singleton instance = new Singleton();
    
    public  static Singleton getInstance(){
        return instance;
    }

}
验证:
                Singleton st1 = Singleton.getInstance();
        Singleton st2 = Singleton.getInstance();
        System.out.println(st1==st2);
结果:true

 

java 单例模式

标签:单例模式   单例类   对象   turn   java   --   同步   log   否则   

原文地址:http://www.cnblogs.com/ysloong/p/6246902.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!