我需要将数百万个 Java POJO 写入磁盘,并从磁盘读取它们,而且我需要快速完成。
我宁愿避免定义单独的模板文件,因为我认为 Thrift 和 Google Protocol Buffers 需要这样做。相反,如果 Java 类本身是对象的权威规范(与 Java 序列化、Gson 和其他序列化协议(protocol)一样),那就更好了。我意识到这里可能会对性能造成一些影响,但是只要速度不慢一个数量级就可以了。
要序列化的类由几个简单的长整型字段和字符串字段以及一个映射(其中该映射中的值都是数字或字符串)组成。
任何人都可以推荐一些我应该为此查看的库吗?
最佳答案
首先使用 Java 序列化进行测试,看看它是否足够快。 它是内置的,并且有足够的能力处理图表和多个版本。
在您知道需要它之前,没有理由寻找替代品。
编辑:您将需要重置()ObjectStream,以便不使用对已写入对象的引用填充查找表。如果您正在编写相对独立的对象,那么在每个“顶级”对象之后进行重置可能不是问题,但如果您的数据中有复杂的关系,我建议您尝试 JPA 或其他东西。
关于java - 序列化相对简单的 Java POJO 的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7421244/