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

标签 java serialization store

我对 Java 比较陌生,但对 Matlab 有更多经验。我想知道存储相对少量的数据的最佳方法是什么,这些数据已经在一个程序中计算出来,应该在另一个程序中使用。

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

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

最佳答案

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

  • Write and read一个简单的文本文件来存储计算值。
  • 使用 Java XML 绑定(bind)架构 ( JAXB ) 将带注释的 Java 类写入 XML 文件。同样的 JSON 也可用。
  • 使用轻量级数据库,如 SQLiteHSQLDB (原生 Java 数据库)。
  • 使用 Apache ThriftProtocol Buffer将 Java 对象反/序列化为文件。

关于java - Java 中的序列化是存储和稍后访问(少量)数据的最佳/最简单方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41721914/

相关文章:

java - java中通过方法中的参数调用2个方法

c# - 为什么 DateTime.MinValue 不能在 UTC 之前的时区中序列化?

java - 将drawOval圆转换为x,y坐标

iphone - 为 iPhone 创建 JSON 存储

redux - react native中的mapStateToProps、mapDispatchToProps类型和选择器有什么区别

Java 无法解析的日期

java - CDI 对象不能用注入(inject)的构造函数代理

c# - .net 序列化 : How to use raw binary writer while maintaining which thing is which

java - openjdk中的数组长度变化

c++ - 如何为动态类型成员调用boost register_type函数