java - 有人知道为低内存使用而优化的 java.util.Map 实现吗?

标签 java optimization collections

我在通常的地方(apache commons、google)找过,但没能找到...

它应该是开源的。

几乎是在寻找一个基于链表的。用例是 10'000 的 map ,其中不一定有很多值。它不需要按比例放大,因为当它变得太大时我可以转换它。

一些数字,大小使用一些计算的jvm值(8bytes/java.lang.Object,4bytes/ref)HashMap大约是100+32n字节,理论上最好是12+20*n。 <-- 我想要那个,对于小 n。

最佳答案

可以看看 commons-collections Flat3Map ,它被优化为在 3 个字段中存储 3 个值,并在 4 处溢出到另一个映射。

我没有看过实现,但可能值得考虑一下。唯一的问题是,因为 commons-collections 是 1.3 兼容的,所以没有通用的。

关于java - 有人知道为低内存使用而优化的 java.util.Map 实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/633299/

相关文章:

python - 求根函数 scipy.optimize.brentq 的 "rtol"参数是什么?

java - 为什么 CopyOnWriteArraySet 不实现 Cloneable 接口(interface),而 CopyOnWriteArrayList 实现?

java - 如何通过从其他列表中读取值之一来过滤对象列表

Java文字游戏查询

java - 用Java快速实现、部署一个Webservice

java - 日期转换: error with time

java - 可能是由于 modulo(10,9)+7 超出了时间限制错误?

java - 从 testng.xml 运行测试用例时如何解决 SessionID=null 问题

c - 复制数组时的 gcc 优化

java - 集合中包含可序列化的非原始对象的对象不能设置为 ActiveMQ ObjectMessage