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

原创 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
  • 3976

设计模式——单例模式(饿汉式、懒汉式)

一、设计模式之单例模式      设计模式:解决每一类问题最行之有效的方法  GOF 23种 java中23种设计模式 单例设计模式:解决一个类在内存中只存在一个对象 想要保证对象唯一: 1、...

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

设计模式有许多中,如观察者模式,单例模式,工厂模式,门面模式,等等。单例模式:1.饿汉式:一进入程序就自动创建一个单例对象,但在移动端不是很适用; 2.懒汉式:当第一次使用到单例对象时,才创建对象;...

设计模式之单例模式(饿汉式,懒汉式)

饿汉式单例模式public class Singleton1{ /**一开始就创建了一个实例**/ private static Singleton1 instance = new S...

Java设计模式中的单例模式的懒汉式和饿汉式

单例设计模式是一种很常见的设计模式 在这里介绍两种单例设计模式 懒汉式与饿汉式 一、先说一说单例设计模式的特点: >>1.单例设计模式保证一个类只有一个实例。 >>2.要提供一...

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

定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。” 通过单例模式可以保证系统中一个类只有一个实例而且该...
  • inslow
  • inslow
  • 2017年01月08日 18:24
  • 231

(GOF23设计模式)_单例模式_应用场景_饿汉式_懒汉式

设计模式

单例模式(懒汉式,饿汉式)

  • 2013年10月31日 20:43
  • 761B
  • 下载

理解单例设计模式(饿汉式,懒汉式,静态内部类,枚举,双重校验锁)

package com.test.singleton; /** * * Description:饿汉式单例类,在类初始化时,已经自行实例化 * 这种方式基于classLoder机制避免了多线...

对象初始化过程与单例设计模式(饿汉式与懒汉式)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1.对象初始化过程:(先加载类到内存,然后加载类属性,成员方法) 定义一个类Person,  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式------单例模式之饿汉式和懒汉式
举报原因:
原因补充:

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