单例模式

Posted ..小树苗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式相关的知识,希望对你有一定的参考价值。

单例模式

单例模式最优方案: 线程安全,并且效率高,代码如下: 
  1. public class Singleton {
  2. //使用volatile保证了多线程访问时instance变量的可见性
  3. private volatile static Singleton instance;
  4. // 定义一个私有构造方法
  5. private Singleton() {
  6. }
  7. public static Singleton getInstance() {
  8. // 对象实例化时与否判断(不使用同步代码块,instance不等于null时,直接返回对象,提高运行效率)
  9. if (instance == null) {
  10. //同步代码块(对象未初始化时,使用同步代码块,保证多线程访问时对象在第一次创建后,不再重复被创建)
  11. synchronized (Singleton.class) {
  12. //未初始化,则初始instance变量
  13. if (instance == null) {
  14. instance = new Singleton();
  15. }
  16. }
  17. }
  18. return instance;
  19. }
  20. }

 




以上是关于单例模式的主要内容,如果未能解决你的问题,请参考以下文章

常用代码片段

性能比较好的单例写法

片段作为 Android 中的单例

单例片段或保存网页视图状态

你熟悉的设计模式都有哪些?写出单例模式的实现代码

单例模式以及静态代码块