单例模式的四种实现方式
来源:互联网 发布:linux如何安装hadoop 编辑:程序博客网 时间:2024/06/18 14:39
饿汉式
public class Singleton { /** * 饿汉式 */ private Singleton() { } private static final Singleton SINGLETON = new Singleton(); public static Singleton getInstance(){ return SINGLETON; } public void system(){ System.out.println("---lin---> singleton"); }}
懒汉式
public class Singleton2 { /** * 懒汉式 */ private Singleton2() { } private static Singleton2 singleton2 = null; public static Singleton2 getInstance() { if (singleton2 == null) { synchronized (Singleton.class) { if (singleton2 == null) { singleton2 = new Singleton2(); } } } return singleton2; } public void system(){ System.out.println("---lin---> singleton2"); }}
枚举式
public enum Singleton3 { INSTANCE; private Singleton3(){ } public void system(){ System.out.println("---lin---> singleton3"); }}
Holder模式
public class Singleton4 { /** * 带有Holder的方式 * 类级内部类,也就是静态的成员内部类,该内部类的实例与外部类的实例没有绑定关系 * 只有被调用的时候才会装在,从而实现了延迟加载 */ private Singleton4() { } private static class SingletonHolder { /** * 静态初始化器,由JVM来保证线程安全 */ public static final Singleton4 INSTANCE = new Singleton4(); } public static Singleton4 getInstance() { return SingletonHolder.INSTANCE; } public void system() { System.out.println("---lin---> singleton4"); }}
阅读全文
0 0
- 实现单例模式的四种方式
- 单例模式的四种实现方式
- 四中方式实现单例模式
- swift实现单例的四种方式
- Java 单例实现四种方式
- 单例模式的四种线程安全的实现
- 单例模式之四种线程安全的实现
- 单例模式的四种实现及其优缺点
- python 实现单例模式的四种方法
- 单例模式的多种实现方式
- 单例模式的多种实现方式
- 单例模式的实现方式
- java单例模式的实现方式
- Python单例模式的实现方式
- java单例模式的实现方式
- 【单例模式】的多种实现方式
- 单例模式之四种实现
- 单例模式的几种实现方式的对比
- 新起点
- 机器学习(支持向量机-SVM)
- The project description file (.project) for 'Servers' is missing
- java中堆、栈、方法区的理解
- ARKit
- 单例模式的四种实现方式
- mysql死锁排查
- 按键
- XXE攻防
- MongoDB基本(CRUD)
- MATLAB中的varargin,varargout在函数中运用
- 二进制枚举
- 异常处理(二)-----C++异常机制
- 闭包,装饰器,迭代器,生成器