设计模式学习-单例模式

1.定义:

确保一个类最多只有一个实例,并提供一个全局访问点

2.有几种方式

  • 饿汉式(静态常量):在类装载时就实例化,可能造成内存浪费

 

 

  • 饿汉式(静态代码块)

 

 

  • 懒汉式(线程不安全):if语句块问题,实际开发中不要使用这种方式

     

     

  • 懒汉式(线程安全,同步方法):同步效率太低,不推荐使用

     

     

  • 双重检查 :推荐使用

     

     

     

     

  • 静态内部类:静态内部类会在调用getInstance后加载,且只加载一次;通过JVM来保证线程的安全性,推荐使用

    

 

 

  • 枚举:effective Java推荐使用

  

 

 单元素的枚举类型已经成为实现Singleton的最佳方法
                      -- 出自 《effective java》

posted @ 2021-04-24 16:26  heils  阅读(36)  评论(0)    收藏  举报