可以存储java中的大型HashMap吗?

时间:2017-08-10 09:23:15

标签: java memory hashmap

我知道哈希映射是存储密钥及其值的好方法。假设我想存储数百万字的数量,或者具体来说我有一个512 GB的文件,我的hashmap在最坏的情况下可能是512 GB(String,Integer)。

如果我有8GB的RAM,我可以将所有的hashmap存储在我的计算机上吗?假设我有1 TB的二级存储空间?

任何人都可以解释原因吗?

1 个答案:

答案 0 :(得分:2)

  

假设我有一个512 GB的文件,我的hashmap可能更糟糕   是512 GB(字符串,整数)。

您无法以这种方式确定HEAP占用的内存大小 文件编码很重要,Java对象也有对已用内存有影响的特性:类中的字段,String实例也可能被缓存等等......

无论如何,在内存中加载512 GB的文件通常是一个坏主意。 以及在地图中存储数百GB的对象。

数据库旨在实现这一目标 要提高访问性能,您仍然可以使用缓存最常访问数据结果的应用程序缓存。