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;
}
}