单例模式

要点:
1.某个类只能有一个实例
2.必须自行创建实例
3.必须自行向整个系统提供这个实例

实现:
1.只提供私有的构造方法
2.含有一个该类的静态私有对象
3.提供一个静态的公有方法,用于创建、获取静态私有对象

饿汉式线程安全
懒汉式线程风险

优点:
1.在内存中只有一个对象,节省内存空间
2.避免频繁的创建销毁对象,提高性能
3.避免对共享资源的多重占用

缺点:
1.扩展比较困难
2.若实例化后的对象长期不利用,系统将默认为垃圾进行回收,造成对象状态丢失

使用场景
1.创建对象时占用资源过多,但同时又需要用到该类对象
2.对系统内资源要求统一读写,如读写配置信息
3.当多个实例存在可能引起程序逻辑错误,如号码生成器

你可能感兴趣的:(单例模式)