设计模式-单例模式

来源:互联网 发布:如何判断存在sql注入 编辑:程序博客网 时间:2024/04/25 13:18

前言:以java记录

  1. 单例模式:有的时候允许自由创建某个类的实例没有意义,而且创建对象的系统开销大,所以我们在整个系统中只允许存在该类的唯一的实例。如果一个类只能创建一个实例,该类就是单例类,这种模式也叫单例模式
  2. 如何实现:
    1、要保证该类不能自由创建实例,就需要把改类的构造器的访问权限设置成私有private。
    2、需要提供一个公用的public方法,用来获取实例,且必须是类变量即用static修饰,因为调用该方法的不会是对象,而是类。
    3、需要缓存已经创建的对象,用来判断是否已经创建。
  3. 优势:
    1、减少重复创建对象所带来的系统开销
    2、便于系统跟踪改实例的生命周期、状态等等
class Singleton{    //使用一个类变量缓存实例    private static Singleton instance;    //私有构造器,保证不能自由创建    private Singleton(){}    //共有方法获取实例    public static Singleton getInstance(){        //判断是否已经创建过对象        if(instance == null){            instance = new Singleton();        }        return instance;    }   }