zoukankan      html  css  js  c++  java
  • 3 单例模式(Singleton)

    单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:
     
    1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。
     
    2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。
     
    3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程。

    1. // Lazy initialization:
      public class Singleton {
          private static volatile Singleton instance = null;
          private Singleton() {
          }
          public static Singleton getInstance() {
              if (instance == null) {
                  synchronized (Singleton.class) {
                      if (instance == null) {
                          instance = new Singleton();
                      }
                  }
              }
              return instance;
          }
      }
     
    1. // Eager initialization
      public class Singleton {
          private static final Singleton instance = new Singleton();
          private Singleton() {
          }
          public static Singleton getInstance() {
              return instance;
          }
      }
     



  • 相关阅读:
    T-sql 中 truncate 、delete与drop操作数据库的区别
    poj -3070 Fibonacci (矩阵快速幂)
    给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。
    最长的循环节
    大组合数取模
    n个点中求任意两点组成斜率的最大值
    csu
    csu
    poj
    hdu
  • 原文地址:https://www.cnblogs.com/liubo6/p/4504296.html
Copyright © 2011-2022 走看看