在HashMap中使用Puting数据需要花费太多时间

时间:2016-07-19 12:56:25

标签: java hashmap

vMerchant.getMerUsername()
密钥(= paPzG+jjzRss4s1frqGKrA==)的

值类似于videojs('sublime_video', {}, function () { var videoPlayer = this; videoPlayer.width(screen.width / 2); videoPlayer.height(720); videoPlayer.on("ended", function(){ videoPlayer.reset().initChildren(); }); });

问题是需要花费太多时间(将元素放入其中10到15分钟)甚至在放置过程中挂起。

可能有什么问题

1 个答案:

答案 0 :(得分:3)

我建议您使用Java分析器查看所有时间内的内容。

对我来说,创建包含7个条目的~20个哈希映射并将它们添加到另一个哈希映射需要10到15分钟是不合情理的。真正的问题更可能是别的东西;例如:

  • 创建resultList的查询需要很长时间,
  • resultList包含您认为的更多条目,或
  • 堆几乎已满,并且GC在最后一次尝试回收空间时反复运行。

值得一提的是,如果用一个简单的Java类替换了用于表示merchantDetails的HashMap,其中包含7个命名字段和7个getter和/或setter,那么加载过程会更快,并且加载的地图会占用更少的内存。