java中面對多線程安全問題,用什麼樣的Map

現有的項目中,一個公共查詢方法,用來查詢我們工單的主方法,這個方法應該說,只要用戶登錄到我們的系統,就會走這個方法,將用戶自己的工單查詢出來,

這樣的話,這個方法就會經常被同時調用。

我們原來代碼如下:

private Map<String, String> complexCloum = new HashMap<String, String>();

方法中用這個map拼接sql,導致用戶登錄到系統,就會停在主界面,主界面提示連接錯誤,主要原因是因爲HashMap是非線程安全的,

修改之後的代碼:

private Map<String, String> complexCloum = new ConcurrentHashMap<String, String>();

修改之後,問題得到解決,服務器CPU使用率明顯降低。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章