1.单例模式

  所谓的单例设计模式就是采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。例如Hibernate的SessionFactory,一个项目只需要一个SeesionFactory即可。

  使用场景:需要频繁进行创建和销毁的对象,创建对象消耗时间或资源过多,但又经常用到的对象。例如工具类对象,频繁访问数据库或者文件的对象(比如数据源、session工厂等)。

  (Java并发编程-安全发布对象)

  懒汉式:指全局的单例实例在第一次使用时构建。

  饿汉式:指全局的单例实例在类加载时构建。

  代码必备三要素:私有构造器、单例对象、静态工厂方法。

  ①懒汉式1:静态初始化函数

   ②懒汉式2:synchronized

   ③懒汉式3:双重同步锁

   ④懒汉式4:volatile禁止重排序

   ⑤饿汉式1

   ⑥饿汉式2

   ⑦枚举

  Runtime码源:

原文地址:https://www.cnblogs.com/qmillet/p/12109912.html