zoukankan      html  css  js  c++  java
  • Java的设计模式(2)--单例模式

      保证一个类仅有一个实例,并提供一个访问它的全局访问点。

      好处:

         (1)频繁使用的对象,可以省略new操作花费的时间,这对于那些重量级对象而言,是非常客观的一笔开销。

         (2)由于new的次数减少,对系统内存的使用频率降低,减轻GC压力,缩短GC停顿时间。

    其UML图如下:

    public class Singleton{
        private Singleton(){}
        private static Singleton instance = new Singleton();
        public static Singleton getInstance(){
            return instance;
        }    
    }

    还有一种方式就是懒加载,实现方式如下:

    public class LazySingleton{
         private LazySingleton(){}
         private static LazySingleton instance = null;
         public static syncharonized LazySingleton getInstance(){
             if(instance == null){
                  instance = new LazySingleton();
             }
             return instance;
         }
    }

      还有中方式能聚会上面两个的有点:

    public class StaticSingleton{
         private StaticSingleton(){}
         private static class SingletonHolder{
              private static StaticSingleton instance = new StaticSingleton();
         }
         public static StaticSingleton getInstance(){
              return SingletonHolder.instance;
         }
    }
  • 相关阅读:
    Python-TXT文本操作
    Appium-处理系统弹窗
    Appium-服务关键字
    App Inspector-iOS真机功能详解
    Appium+Python3+iOS真机环境搭建
    Appium-超过60s的应用场景如何处理
    python-入门的第一个爬虫例子
    Mysql(五) JDBC
    Mysql(四)正则表达式
    Mysql(三)约束
  • 原文地址:https://www.cnblogs.com/wangyongwen/p/11204570.html
Copyright © 2011-2022 走看看