设计模式1--创建型模式
一.前言 面向对象代码经常用到的就是创建对象, 创建型设计模式就是把对象的创建和对象的使用分离开。 在写类的时候使用创建型模式会使得之后获取对象方便。 二.四种创建者模式: 1. 单例模式 理解:一个类只有一个对象,节省了内存,4种可用方法 经常进行创建和销毁的对象,经常用到的重量级对象用单例模式(比如数据源,session工 厂) 构造方法:(每句话都是一小段代码 ) (1).饿汉式2种(静态变量/静态代码块): 类内创建静态对象实例 并提供静态get方法 (即构造器私有化) 静态变量类加载时就执行,所以没有懒加载, 可能造成内存浪费 静态变量类加载相关机制加载一次,保证了线程安全 (2).懒汉式3种: 类内定义静态对象成员变量 并由静态get方法提供对象实例 (instance方法过滤构造方法) get方法不加锁线程不安全,方法加锁效率低,instance==null内加锁线程不安全 要控制的是单对象,锁资源只 是控制顺序 (3).双重检查(好): 类内定义静态对象成员变量 并由静态get方法提供对象实例 在第一次创建对象时,对类加载器加锁并进行第二次空对象判断 (4).静态内部类方法: 构造器私有化,在内部类中创建静态对象实例,并提供get方 法 利用静态内部类机制,安全高效,推荐使用 ( 5