设计模式研究之——单例模式
来源:互联网 发布:中序线索树的递归算法 编辑:程序博客网 时间:2024/04/30 08:19
单例模式:
顾名思义只有一个实例的模式
创建一个单例的必备条件为:
1、私有的构造方法;2、私有的静态引用变量;3、返回静态引用变量的公开方法
单例模式根据创建实例对象的阶段时间不同将分为两种形式的单例:
一种是饿汉模式:
饿汉模式就是这条汉子非常饥饿,只要一开饭就立马要吃饱。即:在单例被加载的时候就创建实例化一个对象交给引用
public class Singleton{private static Singleton instance = new Singleton();//私有的静态引用变量private Singleton(){}//私有构造方法public static Singleton getInstance(){ return instance;}//返回静态引用变量的公开方法
}
另一中是懒汉模式。
懒汉呢就是懒得动弹,只有你踹他一脚他才行动起来干事。即:在调用获取单例对象的时候才实例化引用
public class Singleton{
private static Singleton instance;//私有的静态变量的引用
private Singleton(){}//私有构造方法
public static Singleton getInstance(){
if(instance == null ){
instance = new Singleton();
}
return instance;
}
}
为什么程序员都比较青睐单例模式呢:
a、内存中只存在一个对象,减少了内存的消耗
b、避免频繁的创建对象销毁对象,提高性能
c、可以全局访问,避免了对共享资源的多重访问
使用单例的场景有哪些?
a、需要频繁创建的对象
b、创建耗时耗资源而且经常使用的对象
c、数据库持久化的类等
单例注意事项:
a、只能使用单例类中的公有方法获得单例对象,不能使用反射,否则将会实例化一个新的对象
b、多线程使用单例共享资源时,要注意线程安全问题。
0 0
- 设计模式研究之——单例模式
- 设计模式之—单例模式
- 设计模式之—单例模式
- 设计模式之—单例模式
- 设计模式之—单例模式
- 设计模式之—单例模式
- GOF23设计模式之——单例设计模式
- 设计模式之——单例设计模式
- 设计模式笔记之——单例设计模式
- 设计模式之——单例
- 设计模式—单例设计模式
- php设计模式之———单例模式
- 设计模式之——单例模式
- 探索设计模式之六——单例模式
- Java[设计模式]之美——单例模式
- 设计模式之——单例模式
- iOS设计模式之——单例模式
- 设计模式之——单例模式
- 启动glance-api报错 cannot import name ceil_shift
- hrbust2090背包(经典。。,想不到就有点难)
- structs与ajax结合的问题
- jQuery.validator.addMethod实例
- ActivityGroup window bad token问题深入分析
- 设计模式研究之——单例模式
- zoj 3594 Sexagenary Cycle(模拟)
- HDU 斜率优化dp 3507 Print Article
- 黑马程序员_IO流(二)
- ABAP 学习之旅(索引篇)
- Hadoop在MapReduce中使用压缩详解
- IT项目(公司)管理小技巧
- Struts2 工作原理
- 数据结构树之二叉树