zoukankan      html  css  js  c++  java
  • 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;
    	}
    }

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

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

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


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


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

  • 相关阅读:
    ASP.NET API盘点
    C# POST与Get数据
    洛谷 P3373 【模板】线段树 2
    洛谷 P1972 [SDOI2009]HH的项链
    洛谷 P1113 杂务(vector)
    POJ 3249 Test for Job
    POJ 1734 Sightseeing trip(Floyd)
    洛谷 P1202 [USACO1.1]黑色星期五Friday the Thirteenth
    洛谷 P1484 种树
    洛谷 P1801 黑匣子_NOI导刊2010提高(06)
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4729684.html
Copyright © 2011-2022 走看看