单例模式

2022-11-29  本文已影响0人  古早味蛋糕
一、单例模式介绍

单例模式是我们在开发中经常用到的一种设计模式。单例模式创建的类在当前进程中只有一个实例,并有一个访问它的全局入口。

1. 单例模式的优点
2. 单例模式的缺点
3. 单例模式适用场景
二、 单例模式实现

单例模式的实现有很多种,这里展示一种最常用的实现。代码如下:

  public class SingletonDemo {
      private static volatile SingletonDemo sInstance = null;
      private SingletonDemo() {
      }

      public static SingletonDemo getInstance() {
          if (sInstance == null) {
              synchronized (SingletonDemo.class) {
                  if (sInstance == null) {
                      sInstance = new SingletonDemo();
                  }
              }
          }
          return sInstance;
      }

      public void printSomething() {
          System.out.println("this is a singleton");
      }
  }

这种写法的好处有以下几点:

然后直接通过SingletonDemo.INSTANCE调用,比传统实现方便多了。枚举实现的单例模式不但能保证线程安全,而且能防止反序列化时重新创建新的对象。
说到单例模式,就不得不提到静态类。

三、 静态类

静态类用static修饰的方法或者变量,可以直接调用,方便快捷。

        public class StaticDemo {
            public static void printSomething() {
                System.out.println("this is a static");
            }
        }

这是一个最简单的静态类,提供一个静态方法printSomething()。

1. 静态类的优点
2. 静态类的缺点
四、单例和静态类的选择

单例表现的是类,静态类表现的是方法。

上一篇 下一篇

猜你喜欢

热点阅读