[英]Puting data in HashMap is taking too much time
HashMap<String, Object> merchantDetailMap = new HashMap<String, Object>();
if(dataAndSize != null)
{
ResultList<VoltMerchantDetail> tempMerchantList = (ResultList<VoltMerchantDetail>) dataAndSize.get("VoltDBDataList");
vMerchantList = (List<VoltMerchantDetail>) tempMerchantList;
for(VoltMerchantDetail vMerchant : vMerchantList){
HashMap<String, Object> merchantDetails = new HashMap<String, Object>();
merchantDetails.put("toActorMsisdn", vMerchant.getToActorMsisdn());
merchantDetails.put("fromActorMsisdn", vMerchant.getFromActorMsisdn());
merchantDetails.put("customCol1", vMerchant.getCustomCol1());
merchantDetails.put("customCol2", vMerchant.getCustomCol2());
merchantDetails.put("customCol3", vMerchant.getCustomCol3());
merchantDetails.put("customCol4", vMerchant.getCustomCol4());
merchantDetails.put("customCol5", vMerchant.getCustomCol5());
merchantDetailMap.put(vMerchant.getMerUsername(),merchantDetails);
}
鍵( vMerchant.getMerUsername()
)的值就像= paPzG+jjzRss4s1frqGKrA==
問題是一段時間會花費太多時間(將元素放入其中需要10到15分鍾),甚至在放置期間會掛起。
可能是什么問題
我建議您使用Java事件探查器來查看所有時間。
對我來說,創建具有20個條目的20個哈希表並將它們添加到另一個哈希表中需要10到15分鍾,這是不現實的。 真正的問題更有可能是其他問題。 例如:
resultList
的查詢要花費很長時間, resultList
包含您認為更多的條目,或者 值得一提的是,如果用具有7個命名字段和7個getter和/或setter的簡單Java類替換用於表示商人詳細信息的HashMap
,則加載過程將更快,並且加載的地圖將占用更少的內存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.