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

基础知识:单例设计模式

时间:2015-05-17 12:11:10      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

单例模式的特点

? ?

一个类只能有一个实例

自己创建这个实例

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

? ?

单例模式的作用

? ?

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

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

? ?

单例模式的举例

? ?

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;

}

}

基础知识:单例设计模式

标签:

原文地址:http://www.cnblogs.com/keedor/p/4509305.html

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