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;
         }
    }
  • 相关阅读:
    全表扫描
    服务器信息表
    事务的丢失更新
    oracle core 概述
    oracle命中率模型计算
    性能量化之cpu
    一个sql导致temp表空间爆掉
    oracle稳定执行计划1
    oracle热点表online rename
    oracle构建一致性读
  • 原文地址:https://www.cnblogs.com/wangyongwen/p/11204570.html
Copyright © 2011-2022 走看看