Skip to content

Commit

Permalink
全局配置类Global采用 懒汉式单例类.在第一次调用的时候实例化自己
Browse files Browse the repository at this point in the history
静态工厂方法 获取当前对象实例时采用 多线程安全单例模式(使用双重同步锁) 确保资源线程的安全性
  • Loading branch information
smallyaohailu committed Jan 10, 2018
1 parent 3688e51 commit 0ccf28f
Showing 1 changed file with 18 additions and 10 deletions.
28 changes: 18 additions & 10 deletions src/main/java/com/thinkgem/jeesite/common/config/Global.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
*/
package com.jeesite.common.config;
package com.thinkgem.jeesite.common.config;

import java.io.File;
import java.io.IOException;
Expand All @@ -12,33 +12,41 @@
import com.ckfinder.connector.ServletContextFactory;
import com.google.common.collect.Maps;

import com.jeesite.common.utils.PropertiesLoader;
import com.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.common.utils.PropertiesLoader;
import com.thinkgem.jeesite.common.utils.StringUtils;

/**
* 全局配置类 懒汉式单例类.在第一次调用的时候实例化自己
*
* @author ThinkGem,长春叭哥
* @version 2018年1月5日
*/
public class Global {

private Global() {
/**
* 全局配置类 懒汉式单例类.在第一次调用的时候实例化自己
* @author ThinkGem,长春叭哥
* @version 2018年1月5日
*/
public class Global {

}
private Global() {}

/**
* 当前对象实例
*/
private static Global global = null;

/**
* 静态工厂方法 获取当前对象实例
* 静态工厂方法 获取当前对象实例 多线程安全单例模式(使用双重同步锁)
*/
public static Global getInstance() {

public static synchronized Global getInstance() {

if (global == null) {
global = new Global();
synchronized (Global.class) {
if (global == null)
global = new Global();
}
}
return global;
}
Expand Down

0 comments on commit 0ccf28f

Please sign in to comment.