我有10,000个映射。将它们全部放在Java Hashmap中并访问是不是一个好主意?这将保存数据库事务,因为所有10,000条记录都将存在于内存中。每个映射都有大约100个字符,包括键和值,映射将非常明显。提出这个问题,因为在java或类似的情况下没有很好的经验。
答案 0 :(得分:7)
就内存而言,10K对象是一桶水(请原谅双关语)。
尝试一下,看看,但我想你甚至可以找到最适度的内存容量来管理它。确保您有合理的堆大小:-Xmx512m
或其他
答案 1 :(得分:1)
应该不是问题。需要注意的事项:
hashcode
和匹配的equals
实施。如果您使用String这样的键作为键,那么这已经为您完成了。答案 2 :(得分:0)
要映射的元素有多大?
这取决于您想要的元素的大小以及JVM上的可用大小,但在大多数情况下,拥有10,000个映射是可行的。
答案 3 :(得分:0)
HashMap.size()的返回类型是整数。
int HashMap.size()(返回此映射中键 - 值映射的数量。)
因此,您最多可以存储2,147,483,647个对象。
int - > int数据类型是32位带符号的二进制补码整数。它的最小值为-2,147,483,648,最大值为2,147,483,647(含)。
要将最大值存储到地图中,您需要增加堆大小(取决于您的需要)。