Самый быстрый способ сериализации относительно простых Java POJO? - PullRequest
2 голосов
/ 14 сентября 2011

Мне нужно записать миллионы Java POJO на диск и прочитать их с диска, и мне нужно сделать это быстро.

Я бы предпочел не определять отдельный файл шаблона, как я считаю,требуется с Thrift и Google Protocol Buffers.Скорее, было бы предпочтительно, если бы сам класс Java являлся официальной спецификацией для объекта (как в случае с сериализацией Java, Gson и другими протоколами сериализации).Я понимаю, что здесь может быть некоторое снижение производительности, но это нормально, если не на порядок медленнее.

Классы для сериализации состоят из нескольких простых полей типа long и String, а также одной карты.(где значения на этой карте - либо числа, либо строки).

Кто-нибудь может предложить некоторые библиотеки, на которые мне следует обратить внимание?

1 Ответ

4 голосов
/ 14 сентября 2011

Сначала протестируйте сериализацию Java и посмотрите, достаточно ли это быстро.Он встроен и достаточно компетентен для работы с графиками и несколькими версиями.

Нет причин искать альтернативы, пока вы не поймете, что вам это нужно.

Редактировать: вам нужно будет выполнить сброс () ObjectStream, чтобы не заполнять таблицу поиска ссылками на уже написанные объекты.Если вы пишете относительно независимые объекты, это, вероятно, не является проблемой сброса после каждого «верхнего» объекта, но если у вас сложные отношения в ваших данных, я предлагаю вам попробовать JPA или что-то еще.

...