在Java中序列化是存储和以后访问(少量)数据的最佳/最简单的方法吗?

时间:2017-01-18 14:23:55

标签: java serialization store

我是Java的新手,对Matlab有更多的经验。我想知道最好的方法是存储相对少量的数据,这些数据已在一个程序中计算,应该在另一个程序中使用。

示例:程序A计算要存储在数组中的100个值。现在我想在程序B中访问这个数组,因为它需要这些值。当然,我可以一起编写一个程序,它也实现了A的部分。但是,现在每次我想执行整个程序时,所有的值都必须再次计算(在A部分),这是一个浪费资源。在Matlab中,我能够轻松地将数组保存在.mat文件中并将其加载到不同的脚本中。

环顾四周找到我的答案我找到了序列化(What is object serialization?)的选项,我认为这样做适合做我想要的事情。我的问题是:序列化最简单,最快速的解决方案,用Java存储少量数据,还是有更快,更用户友好的选项(如Matlab中的.mat文件)?

1 个答案:

答案 0 :(得分:2)

我认为你有几个选择来完成这项工作。 Java对象序列化是一种可能的方式。从我的角度来看,还有其他选项来序列化数据:

  • Write and read一个简单的文本文件,用于存储计算值。
  • 使用Java Architecture for XML Binding(JAXB)将带注释的Java类写入XML文件。同样适用于JSON。
  • 使用轻量级数据库,如SQLiteHSQLDB(本机Java数据库)。
  • 使用Apache ThriftProtocol Buffer将Java对象/序列化为文件。