序列化vs嵌入式数据库简单的独立应用程序



假设我有一个非常简单的Java应用程序,它需要存储一些用户设置。XML并不是一个真正好的解决方案,因为我希望以二进制形式存储它们。那么,在这种情况下,最好的解决方案是什么呢?是嵌入式数据库(如Apache Derby)还是简单的老式序列化?
我知道这是两种完全不同的东西,但都允许持久化一些应用程序状态。那么你会选择什么,为什么?

编辑
至于存储简单的用户首选项,.properties或xml文件都可以,我同意您的看法。但是,如果我想存储密码或某些特定于应用程序的数据,该怎么办呢?

用户设置通常存储为

  • 属性,使用属性文件格式
  • 属性使用XML格式
  • 首选项,使用首选项API。这样做的好处是可以为您存储和读取用户和系统首选项,而不必考虑将它们存储在哪里等等。见http://download.oracle.com/javase/1.4.2/docs/guide/lang/preferences.html

由于Apache Derby是一个可嵌入的关系数据库,因此使用它来存储和操作关系数据是有意义的。使用嵌入式数据库来持久化一些用户设置有点过头了。

如果是我,我会使用简单的键/值对序列化来持久化用户设置。

最新更新