如何在scala中单独存储HashMap值



我有一个scala哈希图,它由一个应用程序生成,并由另一个应用使用。哈希图很大,比如100MB或更大的大小。

var actMap = new collection.mutable.HashMap[String, Seq[Object]];

目前,第二个应用程序启动时会将整个地图加载到内存中。我正试图将密钥加载到内存中,稍后在映射中查找密钥时,它应该会给出存储在磁盘中的值。有没有办法做到这一点?如果使用标准序列化,单独保存每个值并动态访问它们将花费大量时间。有哪些替代方案?

您可能需要考虑使用内存映射文件。你可以自己滚。

假设您可以稍微更改界面并使用第三方库,则可以查看

http://software.clapper.org/javautil/api/org/clapper/util/misc/FileHashMap.html

https://github.com/bmc/javautil/blob/master/src/main/java/org/clapper/util/misc/FileHashMap.java

最新更新