学习笔记之设计模式:单例模式_获得对象并保持唯一

package design_patterns;
/**
 * 单例模式:获取对象并保证对象是唯一的。
 * @author Cuilitang
 *
 */
public class Singleton {
	//饿汉式,先创建一个对象
	private static Singleton instance = new Singleton();
	//私有自己的构造
	private Singleton(){};
	//对外提供一个访问对象的静态方法,方便类名调用
	public static Singleton getInstance(){
		return instance;	
	}
	
	//写个main函数测试一下
	
	public static void main(String[] args) {
		for(int i = 0; i <100; i++){
			Singleton obj = Singleton.getInstance();
			System.out.println(obj);   //获得对象,打印

		}
	}
}



package design_patterns;

/**
 * 单例模式:获取对象并保证对象是唯一的。
 * 懒汉式,延迟加载,初始化中不new对象
 * 对于资源密集,配置开销较大的单体更合理的做法是将实例化(new)推迟到使用它的时候.
 * tag懒汉式在多线程情况下会出现线程安全问题
 * @author Cuilitang
 */
public class LazySingleton {
	private static LazySingleton instance = null;
	private LazySingleton(){};					//私有自己的构造
	public static LazySingleton getInstance(){	//对外提供一个访问对象的静态方法,方法中new一个对象
		if(instance == null){
			instance = new LazySingleton();
		}
		return instance;
	}
	//写个main函数测试一下
	public static void main(String[] args) {
		for (int i = 0; i < 100; i++) {
			System.out.println(LazySingleton.getInstance());
			
		}
	}
}

懒汉式在多线程下会出现线程安全问题,这个在后面的日志中会写。

2013-10-24 23:12:13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值