java - 用于存储键值对的轻量级数据库类库

标签 java database hashmap

在 Java 文件中存储字符串键值对的最佳方法是什么,它是可扩展的(可以处理大量键值对,即访问时不会读取或写入整个文件),但是尽可能轻量?

我问这个问题是因为即使是最轻的数据库库,比如 SQLite 和 H2,对于这个目的来说似乎也是一种矫枉过正,甚至不可能用于 ME 程序(尽管我现在主要需要它用于 SE 程序)。

最佳答案

Oracle BerkeleyDB java edition允许您存储键值对象,它易于使用和管理,并且可扩展至天堂(左右)。 820k 并没有那么大。

但是如果您正在考虑缩小到 j2me,您可以尝试 TinySQL

优点:

  • 它很小(93k!)
  • 可嵌入
  • 它使用DBF或文本文件来存储数据,因此很容易 阅读。

缺点:

  • 这是一个未维护的旧项目
  • 它不是为在 j2me 中工作而设计的,但由于它可以在 JDK 1.1.8 中工作,因此使其在 j2me 中工作并不困难。当然,您必须将一些代码从使用 RandomAccessFile 更改为 FileConnection 之类的东西,但至少您不需要弄乱与泛型相关的代码。
  • 它不是很快,因为它不使用索引,所以你需要尝试看看它是否符合你的需求
  • 它的功能并不完整,只是为您提供了 SQL 的一小部分

关于java - 用于存储键值对的轻量级数据库类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7690118/

相关文章:

Java 多线程 - 将线程分配给处理器内核

java - 如何将短数组写入 DataOutputStream?

php - password_hash 似乎返回一个随机变量

php - 在 php 中正确使用其他类中的类?

以@("at"符号开头的Java变量)

java - 如何在特定图 block 上绘制图像?

java - 雪球词干分析器 [Java]

java - 什么时候使用 Statement 而不是 Prepared Statement?

c++ - hash_table[key] == NULL 和 hash_table.find(key) == hash_table.end() 之间的时间复杂度差异?

java - 使用递归函数构建 map