java – 使用Kryo将多个对象序列化为单个文件

据我所知,每个对象都会发生Kryo序列化/反序列化.是否可以将多个对象序列化为单个文件?在另一个类似的SO问题中提出的解决方法之一是使用一组对象.考虑到需要序列化的大量数据,我觉得它不会像应有的那样高效.这是正确的假设吗?

最佳答案
Kryo API是否采用OutputStream?如果是这样,只需输入相同的OutputStream来序列化多个文件.读取时对InputStream执行相同操作.良好的序列化格式将具有长度编码或终止符号,并且不会依赖于EOF.

只要所有这些对象都已在内存中,阵列方法也可以以最小的开销工作.您所说的是每个对象只添加几个字节来创建一个数组来保存它们.如果它们不是全部都在内存中,则必须首先将它们全部加载到内存中以围绕它们创建一个数组.鉴于数据集足够大,这肯定会成为一个问题.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...