java开发的23种设计模式(三)

来源:互联网 发布:怎样在淘宝网上买到正品 编辑:程序博客网 时间:2024/06/06 10:41

昨天没网~~  今天多补一章

java的23中设计模式之——单例模式(Singleton

单例模式就是保证一个类只有一个实例化的对象存在,节省了内存开销。

1、懒汉模式:

//懒汉模式,当第一次调用instance()方法时创建实例public class Singleton_1 {//声明自身对象引用singletonprivate static Singleton_1 singleton = null;//私有构造方法以防止外部调用private Singleton_1(){}//对外提供instance()方法获取唯一对象public static Singleton_1 instance(){if(singleton==null){singleton = new Singleton_1();}return singleton;}}
2、饿汉模式:
//饿汉模式,当类加载时实例化对象public class Singleton_2 {//私有构造方法以防止外部调用private Singleton_2(){}//声明自身对象并静态赋值private static final Singleton_2 singleton= new Singleton_2();//对外提供instance()方法获取唯一对象public static Singleton_2 instance(){return singleton;}}
饿汉模式相比于懒汉模式来说,在多线程环境下是由于是类加载时创建实例,所以是线程安全的,而懒汉模式需要增加一些处理才能保证线程安全,在这里就不详细介绍了。