【读书笔记】Android源码设计模式解析与实战(二)——单例模式
来源:互联网 发布:网络大电影收入计算 编辑:程序博客网 时间:2024/05/17 15:06
【读书笔记】Android源码设计模式解析与实战(一)
【读书笔记】Android源码设计模式解析与实战(二)——单例模式
【读书笔记】Android源码设计模式解析与实战(三)——建造者模式(Builder)
【读书笔记】Android源码设计模式解析与实战(四)——原型模式
定义
确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
使用场景
确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有一个。
常见的实现方式
1、懒汉模式
public class People { private static People instance; private People(){} public static synchronized People getInstance(){ if (instance == null){ instance = new People(); } return instance; }}
2、饿汉模式
public class People { private static People instance = new People(); private People(){} public static People getInstance(){ return instance; }}
3、Double Check Lock(DCL) (建议使用)
public class People { private static People instance; private People(){} public static People getInstance(){ if (instance == null){ synchronized (People.class){ if (instance == null){ instance = new People(); } } } return instance; }}
4、静态内部类 (建议使用)
public class People { private People(){} public static People getInstance(){ return PeopleHolder.people; } private static class PeopleHolder{ private static final People people = new People(); }}
5、枚举
阅读全文
0 0
- 《Android源码设计模式解析与实战》读书笔记(二)——单例模式
- 【读书笔记】Android源码设计模式解析与实战(二)——单例模式
- 《Android源码设计模式解析与实战》读书笔记(二十)——适配器模式
- 《Android源码设计模式解析与实战》读书笔记(二十一)——装饰者模式
- 《Android源码设计模式解析与实战》读书笔记(二十二)——享元模式
- 《Android源码设计模式解析与实战》读书笔记(二十三)——外观模式
- 《Android源码设计模式解析与实战》读书笔记(二十四)——桥接模式
- 《Android源码设计模式解析与实战》读书笔记(二)
- android源码设计模式解析与实战 读书笔记 2 单例模式(上)
- android源码设计模式解析与实战 读书笔记 2 单例模式(下)
- 《Android源码设计模式解析与实战》读书笔记(三)——建造者模式
- 《Android源码设计模式解析与实战》读书笔记(四)——原型模式
- 《Android源码设计模式解析与实战》读书笔记(五)——工厂方法模式
- 《Android源码设计模式解析与实战》读书笔记(七)——策略模式
- 《Android源码设计模式解析与实战》读书笔记(八)——状态模式
- 《Android源码设计模式解析与实战》读书笔记(九)——责任链模式
- 《Android源码设计模式解析与实战》读书笔记(十)——解释器模式
- 《Android源码设计模式解析与实战》读书笔记(十一)——命令模式
- 调用打印机拍照的工具类
- iOS 利用 NEHotspotHelper 获取 WiFi 列表
- android taskAffinity属性
- java连接oracle修改表显示id标识符错误。
- 面试题1 -- Java 中,怎么在格式化的日期中显示时区?
- 【读书笔记】Android源码设计模式解析与实战(二)——单例模式
- Java01
- HDU-5734 Acperience(公式化简)
- 通讯方式
- Android 性能优化之Loading Big Bitmaps
- IDEA热部署(一)---解析关键配置。
- 恢复阿里云RDS数据
- 继承、闭包、cookie和session
- Hello World