单例设计模式的作用及用途

转载 2013年12月02日 21:23:08
单例类的作用:让一个类只能创建一个实例(因为频繁的创建对象,回收对象会造成系统性能下降。)。解决对象的唯一性,保证了内存中一个对象是唯一的 。

使用单例类条件:当前对象的创建比较消耗资源,我们在使用这个对象时只需要有一个就可以应用。这个时候就可以将其设计成单例的模式。在一定的场景中,只有一个这样的实例,比如说银行的号码管理器等。java连接数据库,与数据库的连接会比较消耗资源。我们可以将其做成单例的, 这个时候在内存中就有一个,所有人操作的都是一个。

单例模式的步骤:

                1.构造方法私有化
                                让外部不可以直接创建本类对象

                2.在类内实例化一个本类对象 ,属性一般都会private
                                必须在内部得到一个本类对象。是可以让外部访问到的。但是属性一般都要私有化

                3.在本类内提供一个外部可以访问的获得本类对象的static方法。
                                提供一个可以被外部访问的方法,这个方法构造方法私有化了,所以要做在类方法。

//饿汉式(工作中)
                class Single
                {
                        //在本类内创建一个对象.
                        private static Single s=new Single();
                        //私有构造方法
                        private Single(){
                        
                        }
                        //对外提供公共的可以获得本类对象的方法.
                        public static Single getInstance(){
                                return s;
                        }
                }
                        
                
                //笔试中
                //延迟加载的方式(懒汉式)  不完善,讲多线程还要对其进行改进.
                class Single
                {
                        //在本类内创建一个对象.
                        private static Single s;
                        //私有构造方法
                        private Single(){
                        
                        }
                        //对外提供公共的可以获得本类对象的方法.
                        public static Single getInstance(){
                                if(s==null){
                                        s=new Single();
                                }
                                return s;
                        }
                }



相关文章推荐

大众点评测试开发第二大题

贝壳国的居民喜欢用贝壳作为硬币,与我们的硬币不同,这种贝壳硬币有两个特点:  贝壳硬币上面没有标明面值,而是通过不同颜色来区分不同面值的硬币;  将硬币面值从小到大排序以后,后面硬币的面值总是前面...

call by value 和call by reference区别

call by value 和call by reference区别   是基本类型,就拷贝一个基本类型传进方法; 是引用,就拷贝一个引用变量传进去方法, 关于JAVA中参...
  • zh521zh
  • zh521zh
  • 2015年12月14日 22:38
  • 2575

Qt单例设计模式(1-8)

  • 2017年10月29日 12:05
  • 1.25MB
  • 下载

java 单例设计模式

  • 2014年10月07日 11:08
  • 126KB
  • 下载

JAVA基础——单例设计模式(饿汉式与懒汉式)

单例设计模式: 解决一个类在内存只存在一个对象。 想要保证对象唯一 1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象 2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个...

OC代码15_单例设计模式

  • 2015年06月02日 14:05
  • 426B
  • 下载

JAVA单例设计模式(一)

public class BuildServlet { /* * 单例模式,只创建一次 * 单例模式设计原则(堆内存中永远只有一个对象): * 1:将自己设为静...
  • Frunqer
  • Frunqer
  • 2016年05月10日 10:34
  • 127

设计模式——单例实现

  • 2017年06月29日 20:59
  • 26KB
  • 下载

C++单例设计模式

  • 2014年09月13日 11:45
  • 43KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:单例设计模式的作用及用途
举报原因:
原因补充:

(最多只允许输入30个字)