设计模式-单例模式code

package singeton;

import java.security.SecureRandom;

/** * @author Zero * @since 2019-08-13. * Description: */public class HungrySingleton {    private static final HungrySingleton singleton = new HungrySingleton();    private final int ID = new SecureRandom().nextInt();

    private HungrySingleton() {    }

    public static HungrySingleton getSingleton() {        return singleton;    }

    public int doSomething() {//        System.out.println("I'm HungrySingeton " + ID + "!");        return ID;    }}
package singeton;

import java.security.SecureRandom;

/** * @author Zero * @since 2019-08-13. * Description: */public class LazySingleton {    private static LazySingleton singeton = null;    private final int ID = new SecureRandom().nextInt();

    private LazySingleton() {    }

    public static synchronized LazySingleton getSingleton() {        if (singeton == null) {            singeton = new LazySingleton();        }        return singeton;    }

    public int doSomething() {//        System.out.println("I'm LazySingeton " + ID + "!");        return ID;    }

}
(0)

相关推荐

  • 设计模式之单例模式(Singleton Pattern),太简单了

    基本定义 单例模式就是确保某一个类只有一个实例,并且提供一个全局访问点.单例模式有如下几个特点: 它只有一个实例. 它必须要自行实例化. 它必须自行向整个系统提供访问点. 代码实现 饿汉式 直接初始化 ...

  • 从构造函数看线程安全

    线程是编程中常用而且强大的手段,在使用过程中,我们经常面对的就是线程安全问题了.对于Java中常见的数据结构而言,一般的,ArrayList是非线程安全的,Vector是线程安全的:HashMap是非 ...

  • 初级必备:单例模式的7个问题

    故事 实话实说,关于单例模式,网上有N多个版本.你估计也看过很多版本.但看完了又能怎样?我技术群里的一位小伙伴,上周面试,就因为一个单例模式,然后叫他回去等通知了. 下面是这位同学被问到的问题: 1. ...

  • 结合JDK源码看设计模式——单例模式

    定义: 保证一个类仅有一个实例,并提供一个全局访问点 适用场景: 确保任何情况下这个对象只有一个实例 详解: 私有构造器 单利模式中的线程安全+延时加载 序列化和反序列化安全, 防止反射攻击 结合JD ...

  • 设计模式-单例模式

    单例模式 优点 由于单例模式在内存中只有一个实例,减少了内存开支,特别是 一个对象需要频繁地创建.销毁时,而且创建或销毁时性能又无法优 化,单例模式的优势就非常明显. 由于单例模式只生成一个实例,所以 ...

  • 【转】C#设计模式-单例模式(Singleton Pattern)

    目录 介绍 第一个版本 --不是线程安全的 第二个版本 -- 简单的线程安全 第三个版本 - 使用双重检查锁定尝试线程安全 第四个版本 - 不太懒,不使用锁且线程安全 第五版 - 完全懒惰的实例化 第 ...

  • 浅谈C++设计模式--单例模式

    单例模式(Singleton)[分类:创建型] [目的:为程序的某个类的访问,提供唯一对象实例] 这估计是设计模式里面最简单的一个类了,下面我们一起看看,单例它是什么?以及如何实现一个单例 基本定义 ...

  • JAVA设计模式---单例模式篇

    单例模式(singleton):是JAVA中最简单的一种设计模式,属于创建型模式.所谓单例,就是整个程序有且仅有一个实例. 特点: 构造方法私有化 在本类中实例化一个对象作为本类的属性 对外提供一个访 ...

  • 创建型设计模式--单例模式

    一.单例模式 1.什么是单例模式 采取一定的方法,使程序中的某个类只存在一个实例对象,且该类对外提供一个获取该对象的方法(一般为静态方法). 2.单例模式分类 (1)饿汉式(2种写法,线程安全) 静态 ...

  • Java设计模式-单例模式

    单例模式的定义 在<Java与模式>书中这样说到:作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 单例模式的特点 从单例模 ...

  • 设计模式 | 单例模式(singleton)

    定义: 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 结构:(书中图,侵删) 结构超简单.就在你想控制实例数的类上操作即可. 1.定义一个static的对象引用 2.私有化构造方法 3.提供 ...

  • javascript 设计模式 - 单例模式实现及应用

    javascript 设计模式 - 单例模式实现及应用