我在通常的地方(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/