Tag: 键值

Java On-Memory高效键值存储

我存储了1.11亿个键值对(一个键可以有多个值 – 最大值为2/3),其键为50位整数,值为32位(最大值)整数。 现在,我的要求是: 快速插入(键,值)对[允许重复] 基于密钥快速检索值/值。 这里给出了一个很好的解决方案,基于MultiMap。 但是,我想在主内存中存储更多的键值对,没有/小的性能损失。 我从网络文章中研究过B + Tree,R + Tree,B Tree,Compact Multimap等可以很好地解决这个问题。 有谁能够帮助我: 是否有任何Java库可以满足我所有这些需求(上面提到/其他ds也可以接受。没有问题)? 实际上,我想要一个高效的java库数据结构来存储/检索键值/值对,这需要占用更少的内存,并且必须在内存中构建。 注意:我曾尝试使用路易斯·沃瑟曼,京都/东京内阁等提到的HashMultiMap(带有一些修改的番石榴)等。我的经验对于磁盘烘焙解决方案并不好。 所以请避免:)。 另一点是,为了选择库/ ds,一个重点是:密钥是50位(所以如果我们分配64位),14位将丢失,值为32位Int(最大) – 大多数是10-12-14位。 所以,我们也可以节省空间。

你如何逃避属性文件中的冒号(:)?

我正在使用属性文件来存储我的应用程序的配置值。 在其中一个实例中,我必须将值存储为xxx:yyy:zzz 。 当我这样做时,冒号用反斜杠\转义,导致属性文件中的值显示为xxx\:yyy\:zzz 。 我知道冒号:是Properties Java类的标准分隔符。 但是我仍然需要保存值而不使用反斜杠\ 。 有关如何处理这个的任何建议?