标签:
一. 概念简述:
在软件开发中我们最常用的一个设计模式也许就是单例模式了,单例模式也是所有设计模式中最简单的,单例模式指的是一个类有且只能创建一个实例对象。
二. 实现思路:
1. 定义私有静态变量mInstance,mInstance类型为当前类的对象,用来持有单例唯一的实例;
2. 将构造方法定义为private,使外界不能随意调用来创建该类的对象;
3. 定义一个静态的公共方法getInstance(),在此方法中调用该类私有的构造方法。
三. 具体实现:
从实现思路看以看出单例模式的具体实现方法不止一种.
1.懒汉式
懒汉式指的是该类的对象在第一次真正使用的时候去创建,直接上代码,
1 public class SingleInstance{ 2 private static SingleInstance mInstance; 3 private SingleInstance(){ 4 } 5 pulic static SingleInstance getInstance(){ 6 if(mInstance == null){ 7 mInstance = new SingleInstance(); 8 } 9 return mInstance; 10 } 11 }
2. 饿汉式
饿汉式是该类单例的实例在该类加载的时候就创建,饿汉式代码如下:
1 public class SingleInstance{ 2 private static SingleInstance mInstance = new SingleInstance(); 3 private SingleInstance(){ 4 } 5 public static SingleInstance getInstance(){ 6 return mInstance; 7 } 8 }
1. 如果该类的构造方法中有较多的操作处理,这时饿汉式将会导致该类的加载比较慢,往往影响程序的性能;
2. 如果该类进行了加载,在短时间内并没有使用的话则会占用内存,造成资源的浪费。
标签:
原文地址:http://www.cnblogs.com/changjl/p/4695782.html