【发布时间】:2011-05-10 18:22:31
【问题描述】:
我想读取一些 XML 文件并将其转换为图形(没有图形,只是一个模型)。但由于文件非常大(2.2 GB),我保存所有信息的模型对象变得更大(文件大小的 4 倍......)。
在网上搜索我试图找到减小对象大小的方法。我尝试了不同的集合类型,但想坚持使用 HashMap(因为我必须随机访问)。实际的键和值只占分配内存的一小部分。大部分哈希表是空的...
如果我没有完全错,垃圾回收并不能帮助我释放分配的内存并减少哈希图的大小。是否有其他方法可以释放未使用的内存并缩小哈希图?或者有没有办法进行完美的散列?还是我应该只使用另一个集合?
提前致谢,
塞巴斯蒂安
【问题讨论】:
-
这里改进的关键是避免一次将所有 2.2 GB 文件读入内存
标签: java memory hashmap garbage