JAVA设计模式之三单例模式(Singleton)

来源:互联网 发布:网页美工图片 编辑:程序博客网 时间:2024/06/09 20:45
     单例模式是用处最多的一种设计模式了,他有如下几个好处:
     1.保障jvm中只存在一个实例,避免了频繁创建类,节省开销。
     2.调用单例类里的方法不用new,这样也降低了内存开销,同时调用方便。
     3.一些只存在一个实例的方法或者对象,在单例模式下才能发挥独特作用,比如一些单例工厂,一些配置文件类的加载,或者一些工具类。

那么,首先我们来实现一个单例类,如下是一种最常见的单例:
public class ConfigService {     private static ConfigService instance=null;          public static ConfigService getInstance(){           if(instance ==null){               instance=new ConfigService();          }           return instance ;     }          /**      * 初始化相关信息      */     private ConfigService(){               }}

    之前也看了很多关于单例的博客,里面也写到了要用synchronized锁定对象进行初始化单例,只是个人在实际运用中并没有用到这点罢了,所以在这里就不在累述了。
同时还有用“影子实例”同步更新单例对象属性。在这里目前也不阐述,根据需求使用吧,因为本人在使用过程中如子饿了一个专门更新属性的方法,更新属性的时候调用一次即可,其作用跟影子实例类似。
    总结,设计模式都有他存在的道理,但并不是说一个程序中一定要用到了XX设计模式才是最NB的程序,而是根据实际情况使用,心中无设计模式才而无形中又有设计模式的思想在其中才是最佳的程序,哈哈。
0 0