java - HashMap用作Cache时的性能问题

标签 java performance caching hashmap

案例一:

一个包含 1,00,000 个条目的 HashMap

案例 2:

两个 HashMap,每个有 50,000 个条目。

以上哪种情况会占用更多的执行时间和更多的内存?还是两者有显着差异?

用两个条目数较少的HashMap替换一个条目数较大的HashMap是否可行?

最佳答案

最好使用单个 HashMap 。

查找在散列映射中非常有效,并且它们被设计为包含很多元素。如果您必须先放置一些东西来搜索一个映射然后再在另一个映射中查找,那么整体速度会变慢如果您没有在第一个中找到它。

(两种方式在内存使用上不会有太大差异。)

如果当前速度太慢,请检查您的 .hashCode().equals() 是否效率低下。

关于java - HashMap用作Cache时的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27185523/

相关文章:

java - 为什么 MediaRecorder 延迟开始录制?

java - Android:将数据插入 trie 时读取 txt 文件缓慢和内存泄漏(错误的 hashmap 使用)?

performance - 最大限度地减少由于大量 Numpy 点调用而产生的开销

java - Ehcache 设置为永恒但无论如何都会忘记元素?

python - 使用 django 的 page_cache 装饰器时如何清除整个缓存

java - java 中的网络客户端

java - 如何从服务器URL接收Json数据?

java - 甚至没有错误,程序也没有在 Eclipse 中运行

c# - Web API 的性能

c++ - 您可以在 C++ 中缓存虚函数查找吗?