单例模式(Singleton Pattern)
全局变量的缺点:如果在程序开始的时候创建全局变量,但是在某个特定的时间才使用到,这就导致资源的过度使用。应该是在需要的时候才创建变量。
单例模式使用技巧:利用私有构造器,只能在当前class中被调用
定义
确保一个类只有一个实例,并提供一个全局访问点。
示例
饿汉式:延迟加载,特点:构造器私有,声明类成员变量,通过公有方法实例化类成员变量并获取。线程不安全
饥汉式:立即加载,特点:构造器私有,类成员变量初始化并赋值,通过公有方法获取类成员变量。线程安全
双检锁模式:线程安全,特点:构造器私有,使用volatile 关键字修饰类成员变量,在公有方法中添加双重判断,引入synchronized 锁。线程安全
第五章总结
OO基础
抽象、封装、多态、继承
OO原则
封装变化
多用组合、少用继承
针对接口编程、不针对实现编程
为交互对象之间的松耦合设计努力
对扩展开放,对修改关闭
依赖抽象,不依赖具体
OO模式
单例模式---确保一个类只有一个实例,并提供全局访问点。