基于静态内部类模式的单例模式

  1. 相比于懒汉以及饿汉模式,静态内部类模式(一般也被称为 Holder)是许多人推荐的一种单例的实现方式,因为相比懒汉模式,它用更少的代码量达到了延迟加载的目的。

  2. 顾名思义,这种模式使用了一个私有的静态内部类,来存储外部类的单例,这种静态内部类,一般称为 Holder。

  3. 而利用静态内部类的特性,外部类的 getInstance() 方法,可以获取指向 Holder 持有的对象。

  4. 多线程能否打破单例?

  • Holder 模式借用了饿汉模式的优势,就是在加载类(内部类)的同时对 instance 对象进行初始化。
  • 由于自始至终类只会加载一次,所以即使在多线程的情况下,也能够保持单例的性质。

参考地址

上一篇:慢SQL治理分享


下一篇:C#代码执行耗时计算,此处是监测的mvc控制器方法