Java 中的序列化是 best/easiest 存储和稍后访问(少量)数据的方式吗?
Is serializing in Java the best/easiest way to store and later access (a small amount of) data?
我对 Java 比较陌生,对 Matlab 有更多的经验。我想知道最好的方法是存储相对少量的数据,这些数据已经在一个程序中计算出来,应该在另一个程序中使用。
示例:程序 A 计算要存储在数组中的 100 个值。现在我想在程序 B 中访问这个数组,因为它需要这些值。当然,我可以只写一个程序,也实现了A部分。但是,现在每次要执行整个程序时,都必须重新计算所有值(A部分),这是一个资源浪费。在 Matlab 中,我能够轻松地将数组保存在 .mat 文件中并在不同的脚本中加载它。
四处寻找我的答案,我找到了序列化选项 (What is object serialization?),我认为它适合做我想做的事情。我的问题:序列化是在 Java 中存储少量数据的最简单和最快捷的解决方案,还是有更快、更用户友好的选项(如 Matlab 中的 .mat 文件)?
我认为您有多种选择来完成这项工作。 Java 对象序列化是一种可能的方法。从我的角度来看,还有其他选项可以序列化数据:
- Write and read 用于存储计算值的简单文本文件。
- 使用 XML 绑定的 Java 架构 (JAXB) 将带注释的 Java 类 写入 XML 文件。同样适用于 JSON 也可用。
- 使用像 SQLite or HSQLDB 这样的轻量级数据库(原生 Java 数据库)。
- 使用 Apache Thrift or Protocol Buffer 到 de/serializing Java 对象到文件。
我对 Java 比较陌生,对 Matlab 有更多的经验。我想知道最好的方法是存储相对少量的数据,这些数据已经在一个程序中计算出来,应该在另一个程序中使用。
示例:程序 A 计算要存储在数组中的 100 个值。现在我想在程序 B 中访问这个数组,因为它需要这些值。当然,我可以只写一个程序,也实现了A部分。但是,现在每次要执行整个程序时,都必须重新计算所有值(A部分),这是一个资源浪费。在 Matlab 中,我能够轻松地将数组保存在 .mat 文件中并在不同的脚本中加载它。
四处寻找我的答案,我找到了序列化选项 (What is object serialization?),我认为它适合做我想做的事情。我的问题:序列化是在 Java 中存储少量数据的最简单和最快捷的解决方案,还是有更快、更用户友好的选项(如 Matlab 中的 .mat 文件)?
我认为您有多种选择来完成这项工作。 Java 对象序列化是一种可能的方法。从我的角度来看,还有其他选项可以序列化数据:
- Write and read 用于存储计算值的简单文本文件。
- 使用 XML 绑定的 Java 架构 (JAXB) 将带注释的 Java 类 写入 XML 文件。同样适用于 JSON 也可用。
- 使用像 SQLite or HSQLDB 这样的轻量级数据库(原生 Java 数据库)。
- 使用 Apache Thrift or Protocol Buffer 到 de/serializing Java 对象到文件。