一、单例模式
来源:互联网 发布:淘宝玉石拍卖 编辑:程序博客网 时间:2024/05/10 14:10
一、单例模式特点和应用场景
特点:
单例模式保证一个类有且仅有一个实例,并且提供一个访问实例的全局访问点。
应用场景:
u系统只需要一个实例的对象。
客户调用类的单个实例只允许使用一个公共访问点。
二、单例模式的饿汉和懒汉
先看下面的代码:
饿汉式代码:
懒汉式代码:
饿汉式是线程安全的,在类创建的同时就已经创建好一个静态的对象供系统使用,属于前期绑定,以后不再改变 。
懒汉式优点是延时加载、 是在需要的时候才创建对象。缺点是应该用同步。如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的。
前者速度快,后者速度慢。但后者可以加载其他的类,(也就是动态扩展)灵活性高。
看下面的代码有什么特点:
这样确保线程安全的同时, 比上面创建静态实例域的办法还有一个好处就是:
SingletonHolder中可以使用静态方法替换静态域, 实现比较复杂的逻辑, 而不仅仅是new Singleton()这样简单地调用构造方法.
- 一、单例模式
- 一、单例模式
- 单例模式一
- 一、单例模式
- 一 单例模式
- (一)单例模式
- 单例模式一(Singleton)
- 单例模式(一)
- 单例模式详解一
- 一、 单例设计模式
- 单例模式(一)
- 单例模式(一)
- JAVA 单例模式(一)
- 单例模式 (一)
- 读书笔记(一)---单例模式
- 一 设计模式之单例模式
- 设计模式 一 单例模式Singleton
- 设计模式读书笔记(一)单例模式
- div 拖拽拉伸 js
- linux邮件服务器(上)
- ActionScript显示大量外部jpg图片
- C中如何调用C++函数
- Programming with Exceptions
- 一、单例模式
- ZXing iphone integration
- cout设置16进制大写输出
- Linux常用命令全集
- 用观察者模式解决点击一次文章 update一次数据库的问题
- 百度文库Android、Iphone客户端——下载、阅读无需财富值积分
- jsp通过javaBean读取和写入文件
- php中的数组操作函数整理
- Lucene主要API介绍