
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.10.2005, 22:06
|
|||
|---|---|---|---|
|
|||
Контейнер с возможностью частичной сериализации |
|||
|
#18+
Приветствую всех. Возникла такая проблема. Имеется HashMap, который разрастается с очень большой скоростью, в результате чего происходит OutOfMemoryError. Использовать вместо карты временный файл не подходит по соображениям скорости поиска; сериализация всей карты целиком неудобна и не спасает положения. Вопрос такой - может, есть какие-то библиотеки, в состав которых входит что-то типа HashMap, которая может сама разруливать большие объёмы данных (например, сериализовать их частично или ещё как-то на диск писать) и при этом не терять удобства извлечения значений по ключам? Как-то коряво описал, но лучше не получается :-( Заранее спасибо. --С уважением, ponomarevvb-- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.10.2005, 22:47
|
|||
|---|---|---|---|
|
|||
Контейнер с возможностью частичной сериализации |
|||
|
#18+
ponomarevvb такие "библиотеки" давно существуют и называются СУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.10.2005, 23:11
|
|||
|---|---|---|---|
|
|||
Контейнер с возможностью частичной сериализации |
|||
|
#18+
Да вот как-то смущает меня это berkeley db , например, почти такой же по размерам, как мой проект Да и не нужнен мне весь функционал оттуда... --С уважением, ponomarevvb-- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.10.2005, 01:27
|
|||
|---|---|---|---|
|
|||
Контейнер с возможностью частичной сериализации |
|||
|
#18+
Есть такая штука - JCS ( jakarta.apache.org/jcs ) Она, правда, не намного меньше, чем BerkleyDb - что около 370К А еще есть толпа похожих решений - OsCache и прочие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.10.2005, 11:04
|
|||
|---|---|---|---|
Контейнер с возможностью частичной сериализации |
|||
|
#18+
тут помогает переработка алгоритма работы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.10.2005, 11:36
|
|||
|---|---|---|---|
Контейнер с возможностью частичной сериализации |
|||
|
#18+
http://java.sun.com/j2se/1.5.0/docs/api/java/util/LinkedHashMap.html берем стандартный LinkedHashMap - создаем с параметром accessOrder=true переопределяем метод removeEldestEntry(Map.Entry) - сериализуем объект, возвращаем true переопределяем метод get(Object o) - чтоб в случае, когда объект не найден (get, containsKey) лез в сериализацию (и засовывал объект в map) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.10.2005, 11:37
|
|||
|---|---|---|---|
Контейнер с возможностью частичной сериализации |
|||
|
#18+
"This kind of map is well-suited to building LRU caches" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2151202]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 347ms |

| 0 / 0 |
