Как эффективно сохранить часть TreeSet в файл? и перезагрузить его? (Вопрос Java) - PullRequest
0 голосов
/ 16 марта 2011

Я работаю с TreeSet для хранения некоторой информации, чтобы она сортировалась в некотором порядке.

Когда TreeSet становится очень большим (> 1 ГБ), я хочу сохранить самые маленькие элементы вTreeSet к файлу, чтобы освободить немного оперативной памяти.Позже, когда появится больше свободной оперативной памяти, я хочу иметь возможность перезагрузить эти элементы в память для их обработки.

Мой вопрос: существует ли какой-нибудь эффективный способ сохранения части TreeSet в файл и последующего восстановления в памяти?

Обратите внимание, что когда я перезагружаю элементы в память, это может быть частью нового TreeSet или в том же TreeSet.

Спасибо за любую идею о том, как это сделать!

1 Ответ

1 голос
/ 16 марта 2011

Для чего вы используете TreeSet? Содержимое часто меняется? Вы пытаетесь быть эффективными с точки зрения скорости или использования диска?

Чтение и запись в файл происходит очень медленно по сравнению с памятью, и синхронизация версий файла и памяти может быть сложной, если они часто меняются.

Может быть, имеет смысл использовать базу данных. Существует несколько облегченных баз данных, таких как derby и sqllite, которые могут быть встроены в ваше приложение. Базы данных предназначены для решения проблемы памяти и файлов, и если у вас есть> 1 ГБ данных, возможно, имеет смысл организовать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...