设计模式------单例模式之饿汉式和懒汉式

原创 2015年07月06日 23:13:13

单例模式可以分为懒汉式和饿汉式

饿汉式是线程安全的,无需关注多线程问题,它是在类加载时创建实例

懒汉式不是线程安全的,创建实例的时间与饿汉式相反是延时加载

饿汉式示例代码:


public class Test{ 
    private Test(){}
    private static Test test= null;  
    public static synchronized Test getInstance(){
             if(test== null) {                       
                 test = new Test();   
             }
             return test;
     }
}

懒汉式示例代码:

public class Test{ 
public Test(){}
    private static Test test = new Test(); 
    public static Test getInstance(){
        return test;  
}
}

单例模式的三要素:

          1、私有化构造方法

          2、一个指向自己实例的私有静态变量

          3、供外部调用的返回自己实例的静态方法

当然单例并不只有饿汉式和懒汉式两种方式,还可以使用枚举,静态内部类,双重检验锁的方式来实现

版权声明:本文为博主原创文章,未经博主允许不得转载。

设计模式-单例模式(饿汉式及懒汉式的Java实现)

单例模式单例模式在程序设计中使用的频率非常之高,其设计的目的是为了在程序中提供唯一一个对象(保证只被构造一次),例如写入日志的log对象,windows的任务管理器实现(只能打开一个)。这里主要介绍单...
  • zjx409
  • zjx409
  • 2015年08月03日 22:57
  • 4620

Java单例模式--饿汉式、懒汉式需要怎么写

Java 单例模式 饿汉 懒汉 spring IOC中使用懒汉式、饿汉式
  • u013905744
  • u013905744
  • 2016年10月07日 14:23
  • 2428

懒汉式单例和饿汉式单例优缺点

1、时间和空间 比较上面两种写法:懒汉式是典型的时间换空间,也就是每次获取实例都会进行判断,看是否需要创建实例,浪费判断的时间。当然,如果一直没有人使用的话,那就不会创建实例,则节约内存空间。 ...
  • u014284952
  • u014284952
  • 2014年05月18日 11:19
  • 4265

简单java单例模式 懒汉式、饿汉式以及解决线程安全问题(synchronized)

单例模式(又称设计模式) 一个类只存一个对象(实例)。 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界...
  • qq_37768482
  • qq_37768482
  • 2017年08月24日 19:07
  • 220

终极单例模式,饿汉式,懒汉式,枚举式

/*** * 饿汉式单例,在类初始化时就自行实例化,这样可以避免线程安全问题,但是浪费内存空间,不推荐 */ public class HungrySingleton { private ...
  • lyl0724
  • lyl0724
  • 2017年08月20日 17:21
  • 149

饿汉式和懒汉式区别

从名字上来说,饿汉和懒汉, 饿汉就是类一旦加载,就把单例初始化完成,保证getInstance的时候,单例是已经存在的了, 而懒汉比较懒,只有当调用getInstance的时候,才回去初始化这个单...
  • Lingfeng928
  • Lingfeng928
  • 2016年09月12日 15:28
  • 1600

android 基础 单例模式,懒汉式,饿汉式

class Instance{}   //懒汉式   class LSingle{       private static  Instance _instance = null;      ...
  • l331258747
  • l331258747
  • 2016年05月17日 10:07
  • 1056

java单例模型---懒汉式和饿汉式代码及比较

/*单例模型:保证该类中的对象的唯一性  * 1.建立私有静态对象  * 2.不让其他类建立该类对象  * 3.对外提供对对象  */ class simple1{  private s...
  • wangyanxiang0704
  • wangyanxiang0704
  • 2012年12月10日 14:40
  • 3203

单例模式 懒汉式 饿汉式

单例模式的写法: 区别: 当确定这个类一定会被用到,使用饿汉式, 不确定是否用到这个类,使用懒汉式。 懒汉式: Java代码   public class Singleton {  ...
  • qq_16909139
  • qq_16909139
  • 2017年08月02日 11:53
  • 136

iOS学习笔记10-设计模式-单例模式(懒汉式,饿汉式)

设计模式有许多中,如观察者模式,单例模式,工厂模式,门面模式,等等。单例模式:1.饿汉式:一进入程序就自动创建一个单例对象,但在移动端不是很适用; 2.懒汉式:当第一次使用到单例对象时,才创建对象;...
  • xiaoluodecai
  • xiaoluodecai
  • 2015年09月13日 16:56
  • 1021
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式------单例模式之饿汉式和懒汉式
举报原因:
原因补充:

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