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

设计模式之Singleton

时间:2016-08-08 12:55:41      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

设计模式总共有23种模式这仅仅是为了一个目的:解耦+解耦+解耦...(高内聚低耦合满足开闭原则

介绍:

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在(理解为,居民身份证号具有唯一性)。

可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection)。

 

模式结构:

技术分享

1.单例类的构造方法为私有。

2.提供一个自身的静态私有成员变量。

3.提供一个公有的静态工厂方法。

实现:

public class Singleton {  
     private static Singleton instance;  
     private Singleton (){
     }   
     public static Singleton getInstance(){    
       if (instance == null){
           synchronized(Singleton.class){
               if (instance == null)
                   instance = new Singleton(); 
           }
       }
       return instance;
     }
     
 }

考虑到线程安全会用到synchronized标识符。我们知道静态方法是属于类的而不属于对象的。同样的,synchronized修饰的静态方法锁定的是这个类的所有对象。

 

设计模式之Singleton

标签:

原文地址:http://www.cnblogs.com/hongguang-kim/p/5748767.html

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