这是什么Singleton模式?它是Java23之间的一种模式,在Android发展也有着广泛的应用,例Calander类别,当对象是由未创建 new Calander而是Calander.getInstnce(),这就是单例模式的一种运用,应用的场合是什么呢?我们在非常多时候有些对象仅仅须要一个就够了,并不须要多个,就比方古代的皇帝,一山不容二虎,老虎多了仅仅有坏处没有优点。

它的作用就是保证整个应用程序中某个实例有且仅仅有一个。one  is all。

单例模式呢分为两种一个是饿汉模式一个是懒汉模式,让我们先来看一下饿汉模式和懒汉模式各自是什么把!

先来看看饿汉模式的庐山真面目吧!

public class Singleton {//1.将构造方法私有化,不同意外部直接创建对象private Singleton(){      }//2.创建类的唯一实例,使用private static修饰private static Singleton instance=new Singleton();//3.提供一个用于获取实例的方法。使用public static修饰public static Singleton getInstance(){return instance;}
}

为了不让该类能构造出多个对象。饿汉模式第一步将构造方法私有化了。不同意外部直接创建对象。

第二步再创建该类的唯一实例,并用private static修饰。通过getInstance()方式返回,保证了调用类不能对该类任意改动。

饿汉模式的最大特点呢,是仅仅要类開始载入,就会创建对象。

再来看下懒汉模式

public class Singleton2 {//1.将构造方式私有化,不同意外边直接创建对象private Singleton2(){}//2.声明类的唯一实例,使用private static修饰private static Singleton2 instance;//3.提供一个用于获取实例的方法。使用public static修饰public static Singleton2 getInstance(){if(instance==null){instance=new Singleton2();}return instance;}
}

我们能够看到懒汉模式和饿汉模式大致形同,唯一不同的是在第二步仅仅声明类并不创建对象。

最后我们总结下两者的差别:

饿汉模式的特点是载入类时比較慢。但执行时获取对象的速度比較快,线程安全。

懒汉模式的特点是载入类时比較快,但执行时获取对象的慢点。线程安全。多线程操作的时候要注意。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Android发展Singleton模式相关推荐

  1. 【android】夜间模式简单实现

    完整代码,请参考我的博客园客户端,git地址:http://git.oschina.net/yso/CNBlogs 关于阅读类的app,有个夜间模式真是太重要了. 那么有两种方式可以实现夜间模式 1: ...

  2. android studio夜间模式,android studio怎样实现夜间模式

    满意答案 noxlqub 2016.05.01 采纳率:51%    等级:7 已帮助:210人 关于阅读类的app,有个夜间模式真是太重要了. 那么有两种方式可以实现夜间模式 1:修改theme,重 ...

  3. android recovery分区内刷镜像,Android手机Recovery模式取证方法研究.pdf

    Android手机Recovery模式取证方法研究 2015 年第 9 期 信息通信 2015 (总第 153 期) INFORMATION & COMMUNICATIONS (Sum. No ...

  4. android 动态显示多张图片,信息图:五年峥嵘路 一图看尽Android发展历程

    第1页:一图看尽Android历史 第2页:Android 1.0和1.1 第3页:甜点上桌了:1.5 Cupcake(纸杯蛋糕) 第4页:1.6 Donut(甜甜圈) 第5页:2.0 / 2.1 E ...

  5. Android沉浸式模式状态栏(二)

    其实说到沉浸式状态栏这个名字,真不知道这种叫法是谁先发起的.因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法.而有些人在没有完全了解清 ...

  6. Android Activity启动模式,回退栈管理!

    (一): Activity被回收了怎么办?当系统内存不足的时候Activity是有可能被回收的,打个比方用户在A Activity启动了B Activity那么A就处于停止状态,由于内存不足A会被回收 ...

  7. Singleton模式笔记

    在C++中,尽量用Singleton替换全局变量是个很好的建议,Singleton一般如下: class  CSingleton { private:     static CSingleton* m ...

  8. java设计模式:Singleton模式

    Singleton模式是java中用到最多的设计模式.用于控制的个数,防止多余的实例化及修改.在仅有一个对象存在时,操作很有效. 1.构造函数私有化,其它类不能实例化对象 2.引用私有化,没有其它的修 ...

  9. Singleton模式学习

    动机(Motivation) 在软件系统中,经常有这样一些类,必须保证它们在系统中只存在一个类的实例,才能确保它们逻辑的正确性,以及良好的效率 如何绕过常规的构造器,提供一种机制来保证一个类只有一个实 ...

最新文章

  1. 周炯槃 信息理论基础
  2. OpenGL浮雕效果
  3. bcp文件, 逗号文件
  4. linux系统部署war包,查看tomcat日志
  5. LeetCode 85. 最大矩形(DP/单调递增栈,难)
  6. python 发邮件_Python发邮件告别smtplib,迎接zmail
  7. 数据库(5)SQL约束
  8. 20万DBA都在关注的11个问题
  9. [iphone-游戏]游戏中常用的数据组织方式和解析
  10. android 傅里叶变换_Android连载38访问联系人
  11. paip.函数方法回调机制跟java php python c++的实现
  12. xaxis python_python-平日名称中的xaxis
  13. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)
  14. 【IJCAI 2016】Modularity Based Community Detection with Deep Learning 阅读小记
  15. C#中的特性,什么是特性.
  16. mac装linux iso不用u盘安装,在任何mac上用u盘安装OSX和Windows10双系统的方法(支持老电脑、不用Bootcamp)...
  17. 域控制器中五个角色基础(必记)
  18. 【动态规划DP】跳木桩
  19. Unity3D网页插件
  20. AE模板航天信息展示效果

热门文章

  1. 力拎30磅!波士顿动力物流机器人Handle亮相,还会摆货架
  2. 人民日报:人工智能,务实发展是正道
  3. 打破国外垄断,我国拿下一项“制芯”关键技术
  4. 争自动驾驶领头羊还是确保技术安全?欧美选择不同
  5. 李飞飞最新演讲全文:机器已能“看懂”图像和视频,但我们仍站在人工智能研究的起点
  6. 创建符合标准的、有语意的HTML页面——ASP.NET 2.0 CSS Friendly Control Adapters 1.0发布...
  7. oracle函数,oracle编写函数
  8. SpringMVC_实现简单的增删改查
  9. SpringBoot-Security-用户权限分配-配置验证规则
  10. p2148 [SDOI2009]ED