设计模式之单例设计模式
单例模式 ,就是只有一个实例对象存在,保证了多线程情况下的线程安全问题。保证一个类仅有一个实例,并提供一个访问它的全局访问点。 创建单例对象的三要素: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 主要应用场景: Windows 是多进程多线程的,在操作一个文件的时候,就不可避免地出现多个进程或线程同时操作一个文件的现象,所以所有文件的处理必须通过唯一的实例来进行。 一些设备管理器常常设计为单例模式,比如一个电脑有两台打印机,在输出的时候就要处理不能两台打印机打印同一个文件。 要求生产唯一序列号。 WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。 创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。 实现单列模式的关键 : 私有构造方法 单例模式的七种实现方式: 单例模式 主要分为 饿汉式 和 懒汉式 两种 单列模式主要考虑 实例对象唯一 懒加载 性能问题 1、饿汉式 这是饿汉式的简单实现保证了线程安全,但是浪费内存的开销,没有实现懒加载。 package com . multi . thread . two . design . pattern ; /** * 饿汉式:实现步骤 * 1、私有构造方法 * 2、新建实例对象 * 3、对外提供获取对象的全局访问点 * 保证线程安全, *