add SafeConcurrentHashMap

This commit is contained in:
Looly
2022-09-15 10:36:20 +08:00
parent cf0fc45080
commit 3b5ba16c93
41 changed files with 176 additions and 104 deletions

View File

@@ -2,10 +2,10 @@ package cn.hutool.setting;
import cn.hutool.core.io.file.FileNameUtil;
import cn.hutool.core.io.resource.NoResourceException;
import cn.hutool.core.map.SafeConcurrentHashMap;
import cn.hutool.core.text.StrUtil;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* Setting工具类<br>
@@ -17,7 +17,7 @@ public class SettingUtil {
/**
* 配置文件缓存
*/
private static final Map<String, Setting> SETTING_MAP = new ConcurrentHashMap<>();
private static final Map<String, Setting> SETTING_MAP = new SafeConcurrentHashMap<>();
/**
* 获取当前环境下的配置文件<br>

View File

@@ -2,10 +2,10 @@ package cn.hutool.setting.dialect;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.resource.NoResourceException;
import cn.hutool.core.map.SafeConcurrentHashMap;
import cn.hutool.core.text.StrUtil;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* Props工具类<br>
@@ -19,7 +19,7 @@ public class PropsUtil {
/**
* 配置文件缓存
*/
private static final Map<String, Props> propsMap = new ConcurrentHashMap<>();
private static final Map<String, Props> propsMap = new SafeConcurrentHashMap<>();
/**
* 获取当前环境下的配置文件<br>

View File

@@ -1,13 +1,13 @@
package cn.hutool.setting.profile;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.SafeConcurrentHashMap;
import cn.hutool.core.text.StrUtil;
import cn.hutool.setting.Setting;
import java.io.Serializable;
import java.nio.charset.Charset;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* Profile可以让我们定义一系列的配置信息然后指定其激活条件。<br>
@@ -36,7 +36,7 @@ public class Profile implements Serializable {
/** 是否使用变量 */
private boolean useVar;
/** 配置文件缓存 */
private final Map<String, Setting> settingMap = new ConcurrentHashMap<>();
private final Map<String, Setting> settingMap = new SafeConcurrentHashMap<>();
// -------------------------------------------------------------------------------- Constructor start
/**