我需要将数百万个Java POJO写入磁盘,并从磁盘读取它们,我需要快速完成。
我宁愿避免必须定义一个单独的模板文件,因为我相信Thrift和Google Protocol Buffers是必需的。相反,如果Java类本身是对象的权威规范(如Java Serialization,Gson和其他序列化协议),则更为可取。我意识到这里可能会有一点性能损失,但它的确定它的速度要慢一些。
要序列化的类包含几个简单的long和String字段,以及一个Map(此映射中的值都是Numbers或Strings)。
有人可以建议一些我应该考虑的库吗?
答案 0 :(得分:4)
首先使用Java序列化进行测试,看看它是否足够快。 它内置,并且足以处理图形和多个版本。
在您知道需要之前,没有理由寻找替代方案。
编辑:您需要重置()ObjectStream,以便不使用对已编写对象的引用填充查找表。如果你正在编写相对独立的对象,那么在每个“顶层”对象之后进行重置可能不是问题,但是如果你的数据中有复杂的关系,我建议你尝试JPA或其他东西。