作用
配置工厂ConfigurationFactory是用于加载用户的配置文件的,配置文件是怎么获取的?这篇文章就是讲的通过ConfigurationFactory去获取配置文件的过程。
实例
- ConfigurationFactory在类初始化的时候, 通过饿汉式模式创建单实例。Factory是其静态内部子类
private static ConfigurationFactory configFactory = new Factory();
private static class Factory extends ConfigurationFactory {
//省略部分代码
}
- ConfigurationFactory通过getInstance方法获取其实例。
初始化
设计模式
在getInstance方法中进行初始化,双检锁模式保证只被初始化一次
private static volatile List<ConfigurationFactory> factories = null;
private static final Lock LOCK = new ReentrantLock();
public static ConfigurationFactory getInstance() {
if (factories == null) {
LOCK.lock();
try {
if (factories == null) {
//省略部分代码以说明双检锁模式