• Android发展Singleton模式


                这是什么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;
    	}
    }

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

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

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


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


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

  • 相关阅读:
    OA开发中下载模板文件的方法之xml篇
    使用不同的doctype造成不同的显示效果
    反射发送实战(-)InvokeMember [转载]
    浅谈DataGridTableStyle心得
    动态加载控件疑惑。。。。
    不同语言中的关键字的比较
    利用mask在PhotoShop完成渐变的图片。
    碰撞代码
    接近感应传感器
    SQLite在多线程环境下的应用
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4729684.html
Copyright © 2020-2023  润新知