Я сериализовал 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 раз быстрее.Итак, мой вопрос, почему именно это быстрее?Может потому, что я не пишу прямо в файл?
Заранее спасибо.