第四章 单例模式

单例模式

以下在单线程的情况理解改概念

懒汉式

  • 懒汉式在类加载时不初始化,延迟加载。(配置文件)
  • 饿汉式在类加载时初始化,加载慢,获取对象快。
  • 饿汉式是线程安全的,
  • 懒汉式需要加synchronized,否则不安全。

如何使用:

  • 将类的构造器声明为私有化,这就使得外部无法通过构造函数创建这个类的对象了。那么如何创建这个类的唯一那个对象呢?

  • 在该类中声明一个静态的私有的该类的变量。不初始化,或初始化为null,这是懒汉式的特点。

  • 为该类创建一个对外公共的静态的方法访问该变量,如果该变量为null,创建它

Demo:

在这里插入代码片

饿汉式

如何使用:

  • 将类的构造器声明为私有化,这就使得外部无法通过构造函数创建这个类的对象了。

  • 在该类中声明一个静态的私有的该类的变量。并初始化它,这是饿汉式的特点。

  • 为该类创建一个对外公共的静态的方法访问该变量。

在多线下面我们应该如何考虑

Demo:

在这里插入代码片

在性能方面我们应该如何考虑
Demo:

在这里插入代码片

猜你喜欢

转载自blog.csdn.net/qq_30561643/article/details/104504187