23种设计模式之单例模式singleton
1、创建单例模式的原因 节省系统资源、保持数据的一致性。 例子:windows中只能打开一个任务管理器、线程池、数据库连接池、网站计数器等,都被设计成单例模式。 2、单例模式的特点 (1)只有一个实例对象; (2)由单例类自行创建; (3)对外提供一个访问该单例的全局访问点。(常用static方法) 3、如何构建单例模式 (1)懒汉式 package cn.function.designmodel; public class SingletonTest { // 静态变量,原子操作 private static volatile SingletonTest singletonTest = null; // 用于外部测试是否是单例 public String name = "我是单例1"; // 通过构造私有的构造方法,防止被外部实例化 private SingletonTest() { }; // 对外提供一个实例化的方法,生成单例 public static SingletonTest getInstance() { if (singletonTest == null) { singletonTest = new SingletonTest(); } return singletonTest; } } (2)饿汉式 一旦加载类,就创建一个单例 package cn