单例模式

Posted wanjun-top

tags:

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

单例模式

一句话总结:一个类在Java虚拟机中只有一个对象,并提供一个全局访问点。
解决什么问题:对象的唯一性,性能浪费太多。
项目里面怎么用:数据库连接对象,属性配置文件的读取对象。
模式结构:分为饿汉式和懒汉式(如果考虑性能问题的话,就使用懒汉式,因为懒汉式是在方法里面进行初始化的),构造器私 有化,对外提供方法加同步关键字

饿汉模式:

public class HurgrySingleton {
    private static HurgrySingleton hurgry = new HurgrySingleton();
    private HurgrySingleton(){};
         public static HurgrySingleton getSinletonHurgry(){
             return hurgry;
        }
}

懒汉模式:

public class LazySingleton{
    private static LazySingleton lazySingleton = null;
    private LazySingleton(){};
    public static synchronized LazySingleton getLazySingleton (){
      if(lazySingleton ==null){
          lazySingleton =  new LazySingleton();
      }
          return lazySingleton ;
    }
}    

 

技术图片

 

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

常用代码片段

性能比较好的单例写法

片段作为 Android 中的单例

单例片段或保存网页视图状态

你熟悉的设计模式都有哪些?写出单例模式的实现代码

单例模式以及静态代码块