单例模式 标签

设计模式学习笔记之单例模式

  |   0 评论   |   0 浏览

前言 这是一篇学习笔记,内容很多是来源于网上的资料,按照自己学习进行的总结。 我的个人博客:海加尔金鹰 什么是单例模式 定义:一个类在系统当中只存在一个实例,每次获取到这个类的实例都是同一个。主要用于处理系统当中某个频繁创建和摧毁的类。 特点 : 单例类只有一个实例对象 该单例对象必须由单例类自行创建 单例类对外提供一个访问该单例的全局访问点。 单例模式的实现 单例模式的核心代码:构造函数私有化,提供对外访问的方式。 单例模式的实现方式有很多种,我这里就只记录推荐使用的方式: 枚举 public enum Singleton { INSTANCE; } 这种方式是Effective Java作者Josh Bloch 提倡的方式,它不仅能避免多线程同步问题,而且还能防止反序列化重新创建新的对象。^1 这个我感觉是用来面试装逼的,记得以前和朋友们聊面试的时候,开玩笑的说:面试不要慌,先写个单例模式在说。至于反序列化重新创建对象的问题,目前没有遇见过。 讲真的如果不是专门学习单例模式的话,我都不知道有这种写法。 饿汉式 public class Singleton { priv....