码迷,mamicode.com
首页 > 其他好文 > 详细

05.创建型————单例模式

时间:2016-01-02 22:22:17      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

单例模式分为两种,懒汉式和饿汉式。区别在于创建实例的时机。饿汉式在该类加载时创建实例,懒汉式则在需要获取时才进行创建。

package Create.f.Singleton;

public class Singleton {
	private Singleton(){
		
	}
	protected static Singleton getInstance(){
		System.out.println("获取Singleton单例对象");
		return instance;
	}
	private static Singleton instance = new Singleton(); //饿汉式  注意此时线程安全
}

  

package Create.f.Singleton;

//懒汉式
public class Singleton2 {
	private static Singleton2 instance = null;
	private Singleton2(){
		
	}
	protected static synchronized Singleton2 getInstance(){
		if(instance == null){
			System.out.println("初始化Singleton2单例对象");
			instance = new Singleton2();
		}
		return instance;
	}
}

  

package Create.f.Singleton;

public class Client {
	public static void main(String[] args) {
		Singleton singleton = Singleton.getInstance();
		Singleton s = Singleton.getInstance();
		System.out.println("是否同个对象:" + (singleton == s));
		
		
		Singleton2 s2 = Singleton2.getInstance();
		Singleton2 s3 = Singleton2.getInstance();
		Singleton2 s4 = Singleton2.getInstance();
		
		System.out.println("是否同个对象:" + (s2 == s3 && s3 == s4));
		
	}
}

  

05.创建型————单例模式

标签:

原文地址:http://www.cnblogs.com/ciade/p/5095328.html

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