Ответ 1
Вам придется реализовать аспект индексации самостоятельно, но в противном случае это можно было бы сделать. Когда вы сериализуете объект, вы, по существу, возвращаете OutputStream
, который вы можете указать там, где хотите. Сохранение нескольких объектов в файл таким образом было бы простым.
Жесткая часть приходит, когда вы хотите прочитать "несколько" объектов назад. Как вы узнаете, как искать позицию в файле, который содержит конкретный объект, который вы хотите? Если вы всегда читаете объекты в том же порядке, в котором вы их написали, с самого начала файла это не будет проблемой. Но если вы хотите иметь случайный доступ к объектам в "середине" потока, вам придется придумать какой-то способ определить смещение байта конкретного интересующего вас объекта.
(Этот метод не имеет ничего общего с синхронизацией или даже с Java как таковой, вам нужно разработать схему, которая будет соответствовать вашим требованиям и окружающей среде.)