码迷,mamicode.com
首页 > 编程语言 > 详细

java设计模式之单例模式

时间:2017-10-10 23:15:06      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:print   生命周期   代码   默认   输出   title   new   mail   表示   

定义:如果一个类始终只能创建一个实例,那么这个类被称为单例类,这种设计模式被称为单例模式。

Spring框架里面可以将所有生成的bean对象都设置为单例模式,只需要在配置Bean实例时指定scope=“singleton”即可,或者不做配置默认即为单例模式。

我们可以创建一个小的Demo来演示单例模式的实现,只需要保证该类只能创建一个实例,我们可以用权限修饰符private修饰该类的构造器。

提供一个创建该类的接口,该接口只能用static修饰,类里面创建一个成员变量来保存生成的实例。

代码如下:

技术分享
package test;

class Anmail{
    
}
class singlelonDemo {
    private static singlelonDemo sd;
    private singlelonDemo(){
        
    }
    public static singlelonDemo single(){
        if(sd == null){
            sd = new singlelonDemo();
        }
        return sd;
    }
}
public class singleDemo{
    public static void main(String[] args){
        singlelonDemo sd1 = singlelonDemo.single();
        singlelonDemo sd2 = singlelonDemo.single();
        System.out.println(sd1==sd2);
    }
}
技术分享

输出结果为true,表示生成的是一个实例。

单例模式是一种应用很广泛的设计模式,许多框架都有应用,下面要讲到的工厂模式里的工厂也只需要单个实例。

使用单例模式的两个优点:

1、减少创建java实例所带来的系统开销。

2、便于系统跟踪单个java实例的生命周期、实例状态等。

 

java设计模式之单例模式

标签:print   生命周期   代码   默认   输出   title   new   mail   表示   

原文地址:http://www.cnblogs.com/shitaotao/p/7648244.html

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