单例模式在开源代码中的应用

2020-07-13

为了知道大牛是如何应用设计模式的,我喜欢扒一扒知名项目中的源码。

 

单例模式的使用场景其实还挺简单,就是一个类只允许创建一个对象,全局共享使用这个对象。

在 Java 中实现单例,需要考虑是否懒加载、是否线程安全的问题,实现方式:饿汉式、懒汉式、双重检查、静态内部类、枚举。具体实现代码

 

开源使用实例一

JDK 中 java.lang.Runtime 类,每个运行中的 Java 应用的环境信息,单例。

看下它的注释:

 * Every Java application has a single instance of class

 * <code>Runtime</code> that allows the application to interface with

 * the environment in which the application is running. The current

 * runtime can be obtained from the <code>getRuntime</code> method.

 * <p>

 * An application cannot create its own instance of this class.

 

看下它的部分源码:

public class Runtime {
    private static Runtime currentRuntime = new Runtime();

    public static Runtime getRuntime() {
        return currentRuntime;
    }

    private Runtime() {}
    .
    .
    .
}

这是单例模式经典的实现方式之一:饿汉式

 

ConstXiong 备案号:苏ICP备16009629号-3