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;
         }
    }
  • 相关阅读:
    ES6(二)
    ES6
    bootstrap
    数组对象
    bootstrap
    html5(二)
    css3转换、动画、布局
    整理的一些兼容写法
    css渐变、背景、过渡、分页
    css3(一)
  • 原文地址:https://www.cnblogs.com/wangyongwen/p/11204570.html
Copyright © 2011-2022 走看看