在我的项目中,我从两个服务器获取一个表单的条目,并将它们保存在一个hashmap中.
key是serverName,值是2d ArrayList(ArrayList<ArrayList<Object>>)
在ArrayList中,我保留属于该服务器上的表单的字段的值.我在两个服务器中比较这些值并将它们打印到excel文件.
我的问题是,当我得到一个包含12000个条目和100个字段的表单时,此映射使用大约400M的内存.我不希望我的程序使用这么多内存.你能告诉我什么吗?
我怀疑它是导致问题的hashmap,但是ArrayList,因为它默认为10个条目分配空间.如果您只为每个索引存储一个或两个值,那么这将是浪费.
您可以尝试将初始大小设置为1或2以查看是否有帮助.潜在的缺点是,如果尺寸太小,将导致频繁的重新分配.但是你会发现自己是否会导致任何明显的放缓.
| 归档时间: |
|
| 查看次数: |
934 次 |
| 最近记录: |