如果我有一个不可变的地图,我可能希望(在很短的时间内 - 比如几秒钟)从中添加/删除数十万个项目,那么标准HashMap
是一个坏主意吗?假设我想在不到 10 秒的时间内通过 Map 传递 1Gb 的数据,使得 Map 在任何时刻的最大大小仅为 256Mb。
我的印象是地图保留了某种“历史”,但我将始终访问最后更新的表(即我不传递地图),因为它是一个私有成员变量,Actor
仅更新/访问从内部反应。
基本上我怀疑这个数据结构可能(部分)有问题,因为我在短时间内读入大量数据时看到 JVM 内存不足。
使用不同的地图实现会更好吗?如果是这样,它是什么?