单例模式定义:
保证一个类只要一个实例,并提供一个访问它的全局访问点。
应用场景:
如下图,一般我们都会配置一下配置参数在文件conf.properties中,应用程序线程在运行的时候会先加载解析配置文件,将文件内容保存到数据对象conf.java中。通过这种方式,线程就可以访问配置内容了。
这种场景有个很明显的问题,就是每个线程要访问配置文件的时候,都需要创建加载conf.properties配置文件创建conf对象。然而加载文件是个很耗时的过程,创建多个conf对象也浪费系统内存。其实我们只需要创建一个conf对象就够了。那么如何创建一个全局的conf对象呢,很显然使用单例模式。
创建单例对象
创建单例对象注意要点
在讲如何创建单例对象之前,首选要讲一下创建单例对象注意要点:
- 提供一个创建获取对象的方法;
- 对象构造器使用private,不允许外部创建对象(枚举类除外);
- 创建对象要线程安全;
- 获取对象性能要高
创建单例对象
饿汉式
private static final SingletonPattern singleton =new SingletonPattern();
public static SingletonPattern getSingleton(){