23中设计模式之单例(Singleton)模式
来源:互联网 发布:淘宝拓拨斯科技怎么样 编辑:程序博客网 时间:2024/04/30 09:03
单例模式:确保一个类只有一个实例,并提供一个全局访问点
有一些对象有时候只需要一个,比方说:线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表(registry)的对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。
处理多线程的三种单例方法:
1.同步(synchronized)方法
这个方法性能大大降低
2.使用急切创建实例
这个方法只是稍微陌生了
3.双重检查加锁
这个方法还得确定使用的是Java5以上的版本。
问:如果有多个加载器呢。
每个类加载器都定义了一个命名空间,如果有两个以上的类加载器,不同的类加载器可能会加载同一个类。
如果你的程序有多个类加载器又同时使用了单件模式,请小心。有一个解决办法:自行制定类加载器,并指定同一个类加载器。
问:可以继承单件类嘛?
因为构造器是私有的,不能被继承,final也一样。
====================================================================
懒汉式 与 饿汉式的区别就是:创建对象的时间不同
懒汉式
public class Singleton{ private Singleton(){} private static Singleton singleton = null; public static synchronized Singleton getInstance(){ if(singleton == null) { singleton = new Singleton (); } return singleton ; }}
public class Singleton{ public Singleton(){} private static Singleton singleton = new Singleton(); public static Singleton getInstance(){ return singleton; }}
0 0
- 23中设计模式之单例(Singleton)模式
- 设计模式之单例模式Singleton
- 【设计模式】之 Singleton 单例模式
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式Singleton
- 设计模式之单例模式-Singleton
- 设计模式之单例模式Singleton
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式:singleton
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式Singleton
- 设计模式之 单例模式(Singleton)
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式(Singleton)
- 设计模式之单例模式Singleton
- Hust oj 1351 欧拉路径(欧拉路径)
- [php学习十四]javaScript的基本练习4-对象
- 赛码网_在线编程_上台阶
- <hadoop>hdfs 介紹
- 第一章 vagrant简介--vagrant是什么?(2)
- 23中设计模式之单例(Singleton)模式
- java学习之路 之 面向对象编程-数组练习题(2)
- 判断欧拉路径(非并查集写法)
- 读
- 重用布局文件
- iOS-截屏,从相册选择图片,制作磨砂效果图片
- 【cdoj 1328】卿学姐与诡异村庄 并查集(值的一看)
- hdu 5763 Another Meaning (KMP + 递推(dp))
- 父子窗口传值