mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-09-20 02:29:44 +08:00
#956 使用ConcurrentHashMap替换HashTable
This commit is contained in:
@@ -19,6 +19,7 @@ package me.chanjar.weixin.common.util.res;
|
|||||||
|
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An internationalization / localization helper class which reduces
|
* An internationalization / localization helper class which reduces
|
||||||
@@ -46,7 +47,7 @@ import java.util.*;
|
|||||||
*/
|
*/
|
||||||
public class StringManager {
|
public class StringManager {
|
||||||
|
|
||||||
private static final Map<String, Map<Locale, StringManager>> MANAGERS = new Hashtable<>();
|
private static final Map<String, Map<Locale, StringManager>> MANAGERS = new ConcurrentHashMap<>();
|
||||||
private static int LOCALE_CACHE_SIZE = 10;
|
private static int LOCALE_CACHE_SIZE = 10;
|
||||||
/**
|
/**
|
||||||
* The ResourceBundle for this StringManager.
|
* The ResourceBundle for this StringManager.
|
||||||
|
@@ -10,9 +10,9 @@ import com.google.gson.JsonParseException;
|
|||||||
import me.chanjar.weixin.common.util.json.GsonHelper;
|
import me.chanjar.weixin.common.util.json.GsonHelper;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.util.Hashtable;
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author <a href="https://github.com/charmingoh">Charming</a>
|
* @author <a href="https://github.com/charmingoh">Charming</a>
|
||||||
@@ -36,7 +36,7 @@ public class WxMaVisitDistributionGsonAdapter implements JsonDeserializer<WxMaVi
|
|||||||
}
|
}
|
||||||
|
|
||||||
JsonArray listArray = object.getAsJsonArray("list");
|
JsonArray listArray = object.getAsJsonArray("list");
|
||||||
Map<String, Map<Integer, Integer>> list = new Hashtable<>(listArray.size());
|
Map<String, Map<Integer, Integer>> list = new ConcurrentHashMap<>(listArray.size());
|
||||||
for (JsonElement indexElement : listArray) {
|
for (JsonElement indexElement : listArray) {
|
||||||
JsonObject indexObject = indexElement.getAsJsonObject();
|
JsonObject indexObject = indexElement.getAsJsonObject();
|
||||||
String index = GsonHelper.getString(indexObject, "index");
|
String index = GsonHelper.getString(indexObject, "index");
|
||||||
|
@@ -27,18 +27,18 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.Hashtable;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author <a href="https://github.com/007gzs">007</a>
|
* @author <a href="https://github.com/007gzs">007</a>
|
||||||
*/
|
*/
|
||||||
public class WxOpenComponentServiceImpl implements WxOpenComponentService {
|
public class WxOpenComponentServiceImpl implements WxOpenComponentService {
|
||||||
private static final JsonParser JSON_PARSER = new JsonParser();
|
private static final JsonParser JSON_PARSER = new JsonParser();
|
||||||
private static final Map<String, WxOpenMaService> WX_OPEN_MA_SERVICE_MAP = new Hashtable<>();
|
private static final Map<String, WxOpenMaService> WX_OPEN_MA_SERVICE_MAP = new ConcurrentHashMap<>();
|
||||||
private static final Map<String, WxMpService> WX_OPEN_MP_SERVICE_MAP = new Hashtable<>();
|
private static final Map<String, WxMpService> WX_OPEN_MP_SERVICE_MAP = new ConcurrentHashMap<>();
|
||||||
private static final Map<String, WxOpenFastMaService> WX_OPEN_FAST_MA_SERVICE_MAP = new Hashtable<>();
|
private static final Map<String, WxOpenFastMaService> WX_OPEN_FAST_MA_SERVICE_MAP = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
protected final Logger log = LoggerFactory.getLogger(this.getClass());
|
protected final Logger log = LoggerFactory.getLogger(this.getClass());
|
||||||
private WxOpenService wxOpenService;
|
private WxOpenService wxOpenService;
|
||||||
|
@@ -2,8 +2,8 @@ package me.chanjar.weixin.open.api.impl;
|
|||||||
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Hashtable;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.locks.Lock;
|
import java.util.concurrent.locks.Lock;
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
@@ -37,10 +37,10 @@ public class WxOpenInMemoryConfigStorage implements WxOpenConfigStorage {
|
|||||||
private String httpProxyPassword;
|
private String httpProxyPassword;
|
||||||
private ApacheHttpClientBuilder apacheHttpClientBuilder;
|
private ApacheHttpClientBuilder apacheHttpClientBuilder;
|
||||||
|
|
||||||
private Map<String, Token> authorizerRefreshTokens = new Hashtable<>();
|
private Map<String, Token> authorizerRefreshTokens = new ConcurrentHashMap<>();
|
||||||
private Map<String, Token> authorizerAccessTokens = new Hashtable<>();
|
private Map<String, Token> authorizerAccessTokens = new ConcurrentHashMap<>();
|
||||||
private Map<String, Token> jsapiTickets = new Hashtable<>();
|
private Map<String, Token> jsapiTickets = new ConcurrentHashMap<>();
|
||||||
private Map<String, Token> cardApiTickets = new Hashtable<>();
|
private Map<String, Token> cardApiTickets = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getComponentAppId() {
|
public String getComponentAppId() {
|
||||||
|
Reference in New Issue
Block a user