美文网首页
Android设计模式—单例模式

Android设计模式—单例模式

作者: minhelloworld | 来源:发表于2020-02-29 17:14 被阅读0次

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

1、实现方式

1.1、懒汉式,线程不安全

public class Singleton {  
    private static Singleton instance;  
    private Singleton (){}  
  
    public static Singleton getInstance() {  
    if (instance == null) {  
        instance = new Singleton();  
    }  
    return instance;  
    }  
}

1.2、懒汉式,线程安全

public class Singleton {  
    private static Singleton instance;  
    private Singleton (){}  
    public static synchronized Singleton getInstance() {  
    if (instance == null) {  
        instance = new Singleton();  
    }  
    return instance;  
    }  
}

1.3、饿汉式

public class Singleton {  
    private static Singleton instance = new Singleton();  
    private Singleton (){}  
    public static Singleton getInstance() {  
    return instance;  
    }  
}

1.4、双检锁/双重校验锁

public class Singleton {  
    private volatile static Singleton singleton;  
    private Singleton (){}  
    public static Singleton getSingleton() {  
    if (singleton == null) {  
        synchronized (Singleton.class) {  
        if (singleton == null) {  
            singleton = new Singleton();  
        }  
        }  
    }  
    return singleton;  
    }  
}

2、使用场景

单例模式主要是为了解决一个全局的类对象被频繁的创建和销毁,从而造成系统资源的浪费的问题,比如 I/O 或数据库的连接,以及类似这种创建对象需要耗费较多资源的操作。

3、参考

  1. 菜鸟教程-单例模式

相关文章

网友评论

      本文标题:Android设计模式—单例模式

      本文链接:https://www.haomeiwen.com/subject/othmhhtx.html