码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式

时间:2015-08-02 16:22:55      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:

一. 概念简述:

在软件开发中我们最常用的一个设计模式也许就是单例模式了,单例模式也是所有设计模式中最简单的,单例模式指的是一个类有且只能创建一个实例对象。


二. 实现思路:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!