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

原创 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、供外部调用的返回自己实例的静态方法

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

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

相关文章推荐

设计模式--单例模式(一)懒汉式和饿汉式

本文是设计模式学习笔记的第二篇文章,主要分析的是单例模式。包括懒汉式,饿汉式,登记式,以及懒汉式的改进型, 还有一个关于读取propertoes配置文件的实例。预计分为三节。这是第一节,先分析最简单的...

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

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

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

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

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

JAVA设计模式单例模式(懒汉式和饿汉式)

1.单例模式的定义: 单例模式是一种常用的软件设计模式。它能够保证一个系统中一个类只有一个实例,并且方便外界进行调用。好处是有利于控制实例个数,节省系统资源。 2.单例模式的特点: (1...

【单例模式】饿汉式&懒汉式

之前学习单例模式,现在回忆了一下,记录下关于单例模式的写法:   懒汉式: Java代码   public class Singleton {     ...

单例模式 懒汉式 饿汉式

单例模式的写法: 区别: 当确定这个类一定会被用到,使用饿汉式, 不确定是否用到这个类,使用懒汉式。 懒汉式: Java代码   public class Singleton {  ...

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

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

设计模式-饿汉式、懒汉式

单例设计模式:确保一个类中有且仅有一个实例并为他提供一个全局访问点。 具体实现: 1.将构造函数私有化。 2.在类中创建一个本类对象。 3.提供一个方法可以获取到该对象。 2.1饿汉式:Sin...

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

懒汉式与饿汉式所谓“懒汉式”与“饿汉式”的区别,是在与建立单例对象的时间的不同。 “懒汉式”是在你真正用到的时候才去建这个单例对象: 比如:有个单例对象public class Singleton...

单例设计模式之“懒汉式”+“饿汉式”

Java编程中,单例设计模式的“懒汉式”与“饿汉式”的详解+代码实现
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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