我已经序列化了200.000个对象。 首先,我是用
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("name.ser"));
for (int i = 0; i < 200_000; i++) {
MyClass object = new MyClass(i);
out.writeObject(object);
}
然后这样
RandomAccessFile raf = new RandomAccessFile("name.ser", "rw");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(baos);
for (int i = 0; i < 200_000; i++) {
MyClass object = new MyClass(i);
out.writeObject(object);
}
raf.write(baos.toByteArray());
第二个速度快了8倍。 所以我的问题是,为什么它速度更快? 也许是因为我没有直接写入文件?
谢谢。