java设计模式之单例模式

java设计模式之单例模式


日常的开发中,我们会经常用到一些java中的设计模式,下面简单谈一下单例模式。单例模式一般又分为懒汉模式和饿汉模式。


1.单例模式--饿汉模式

饿汉模式在加载类的时候就实例化对象,所以一般来讲,加载慢,获取实例快。而又因为当类加载时,实例就会创建,所以在线程方面是安全的。


/**
 * 设计模式
 * 单例模式--饿汉模式
 * 线程安全-安全
 *
 */
public class Singleton {
	
	//声明并创建对象
	private static Singleton singleTon = new Singleton();
	
	//暴露给外部实例对象的方法
	public static Singleton getInstance(){
		return singleTon;
	}
}

2.单例模式--懒汉模式

懒汉模式与饿汉模式的不同之处在与实例化对象的时间顺序。懒汉模式随类加载只声明不实例。又因为如此,所以在多线程并发应用中,是线程不安全的。如果是并发应用,一定要考虑线程安全的问题。


/**
 * 设计模式
 * 单例模式-懒汉模式
 * 线程安全-不安全
 *
 */
public class SingleTon2 {
	
	//只声明对象
	private static SingleTon2 s2;
	
	//暴露给外部实例对象的方法
	public static SingleTon2 getInstance(){
		if(null == s2){
			return new SingleTon2();
		}
		return s2;
	}
}


你可能感兴趣的:(java)