单例模式

Posted speak out now.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式相关的知识,希望对你有一定的参考价值。

单例类只能有一个实例,并且单例类必须自己创建自己的唯一实例,单例类必须给所有其他对象提供这一实例。

除了供其他对象获取本单例类对象的方法是public的,其他属性或方法全为private。

 

懒汉式:在提供给外界调用以获得唯一实例的方法中写new

private static MySingleton mySingleton = null;

public static MySingleton getInstance(){  

            if(mySingleton == null){  

                    mySingleton = new MySingleton();  

            } 

       return mySingleton;  

   }  

饿汉式:直接给静态变量赋值时new,类加载时便创建唯一的实例

private static MySingleton2 mySingleton = new MySingleton2();

public static MySingleton2 getInstance(){  

    return mySingleton;  

 }  

登记式:

登记式单例模式是在原来的基础上进行数量上的扩展,对多个单例进行管理,把每次创建的单例登记到map中。

调用时先判断该单例是否已经创建,是的话返回该单例,否则创建并登记到map中再返回。

以上是关于单例模式的主要内容,如果未能解决你的问题,请参考以下文章

单例模式(单例设计模式)详解

Java模式设计之单例模式(二)

单例模式(饿汉式单例模式与懒汉式单例模式)

单例模式

单例模式

设计模式之单例模式