基础知识:单例设计模式

单例模式的特点

   

一个类只能有一个实例

自己创建这个实例

整个系统都要使用这个实例

   

单例模式的作用

   

单例模式主要保证在应用程序中一个类只有一个实例存在

在很多操作中,比如建立目录,数据库连接都需要用到这样的单线程操作,一些资源管理器常常设计成单例模式

   

单例模式的举例

   

window回收站

   

整个视窗系统中,回收站只能有一个实例,整个系统都使用这个唯一的实例,而且回收站自行提供自己的实例。因此回收站是单例模式

   

单例模式的分类

   

饿汉式单例

   

public class Singleton {

private Singleton(){}

//在自己内部定义自己一个实例

//注意这是private 只供内部调用

private static Singleton singleton = new Singleton();

//这里提供了一个供外部访问本class的静态方法,可以直接访问

public static Singleton getInstance(){

return singleton;

}

}

   

懒汉式单例

   

public class Singleton {

private static Singleton singleton;

private Singleton(){}

//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次

//使用时生成实例,提高了效率!

public static synchronized Singleton getInstance(){

if(singleton==null){

singleton = new Singleton();

}

return singleton;

}

}

posted @ 2015-05-17 11:03  keedor  阅读(181)  评论(0编辑  收藏  举报