我想使用持久性HashTable为我的应用程序提供数据存储。这可能吗。一个大型支持良好的开源项目将是理想的。
答案 0 :(得分:1)
您有两个选择:
a)将Hashtable分隔为文件 - 在所有Hashtable类实现Serializable之后。
b)BerkeleyDB Java版 - 您可以从Oracle免费下载。它是开源的。 Berkeley DB数据库是一个b树。将代码从HashTable转换为Berkeley DB非常简单。
请注意,如果使用简单的Hashtable存储对象,则当Hashtable中的obect数量增加超过一定数量时,将耗尽内存。使用Berkeley DB,没有这样的限制。
答案 1 :(得分:0)
Chronicle Map是Java的堆外键值存储,提供size = 8
ls = [0, 1]
counter = 2
while size > 0:
ls[counter].append(ls[counter - 1] + ls[counter - 2])
size -= 1
counter += 1
print(ls)
接口和(可选)将数据保存到磁盘。在幕后,它通过内存映射文件实现。