Size: a a a

2020 March 20

MB

Mykola Bova in Java & Co
И то и то. По запросу загружаем мапу и храним сутки. Если при запросе прошло больше дня - обновляем карту... Наверное все же немного больше читаем. Но на не сильно много.
источник

VS

Vitaly Sirotkin in Java & Co
дык бери concurrenthashmap и радуйся
источник

MB

Mykola Bova in Java & Co
Ну пркол в том что мы в большинстве случаев возвращаем на запрос всю карту
источник

VS

Vitaly Sirotkin in Java & Co
и что
источник

MB

Mykola Bova in Java & Co
Ну хорошо Вот пример Из одной нити мы обратились на считывание Прошел ень Мы очмстили карту и начали наполнять В это время другой поток тоже захочет считать карту А она наполовину заполнена
источник

RK

Roman K in Java & Co
Меняй ссылку на неё при кешировании. Не надо очищать. Создавай новую и заполняй. А старая в мусор пойдет
источник

z

zeo in Java & Co
Vitaly Sirotkin
multipart formdata
Спасибо братишка
источник

MB

Mykola Bova in Java & Co
Roman K
Меняй ссылку на неё при кешировании. Не надо очищать. Создавай новую и заполняй. А старая в мусор пойдет
Как вариант кстати
источник

MB

Mykola Bova in Java & Co
И что - в таком решении никакого подвоха незаметно?
источник

MB

Mykola Bova in Java & Co
Евгений Калашников
собираешься много писать в карту или много читать из карты?
А какие тут есть хорошие варианты? Огласите пожалуйста весь список.
источник

RK

Roman K in Java & Co
Ну, это надо архитектуру смотреть. Где-то это сработает, где-то нет
источник

MB

Mykola Bova in Java & Co
Roman K
Ну, это надо архитектуру смотреть. Где-то это сработает, где-то нет
А какие есть хорошие альтернативы? Сейчас активно юзаются ReentrantLock но есть большая уверенность что они начнут течь (в смысле не сработает синхронизация). Либо все встанет.
источник

ЕК

Евгений Калашников in Java & Co
врядли я скажу что то новое, если собираешься много писать то нужно использовать синхронизацию потому что при большом объеме данных запись будет дорогостющей в concurentHashMap, для примерно равноценной записи и чтения можно использовать ReadWriteLock для того что бы задать какой-то алгоритм (он блокирует участок кода при записи и не блокирует при чтении думаю для тебя может быть хороший вариант)
источник

ЕК

Евгений Калашников in Java & Co
Mykola Bova
Ну хорошо Вот пример Из одной нити мы обратились на считывание Прошел ень Мы очмстили карту и начали наполнять В это время другой поток тоже захочет считать карту А она наполовину заполнена
карта обновляеться один раз в день или заполняеться на протяжении дня?
источник

MB

Mykola Bova in Java & Co
Евгений Калашников
карта обновляеться один раз в день или заполняеться на протяжении дня?
Заполняется при первом запросе на считывание
источник

A

Aleksey @cheatex in Java & Co
Евгений Калашников
врядли я скажу что то новое, если собираешься много писать то нужно использовать синхронизацию потому что при большом объеме данных запись будет дорогостющей в concurentHashMap, для примерно равноценной записи и чтения можно использовать ReadWriteLock для того что бы задать какой-то алгоритм (он блокирует участок кода при записи и не блокирует при чтении думаю для тебя может быть хороший вариант)
Это глупость. Chm глубоко сегментирова и часто вообще никакие блокировки при обращении не берет. У локов пропускная способность гораздо ниже.
источник

MB

Mykola Bova in Java & Co
Aleksey @cheatex
Это глупость. Chm глубоко сегментирова и часто вообще никакие блокировки при обращении не берет. У локов пропускная способность гораздо ниже.
Так а что тогда делать?
источник

ЕК

Евгений Калашников in Java & Co
на сколько я знаю то put выполняеться в synchronized блоке , использование которого дороже чем Lock который реализован с помощью unsafe,  другой вопрос что врядли получиться написать алгоритм который работает быстрее того который реализован в chm
источник

ЕК

Евгений Калашников in Java & Co
другой вопрос что нужно выполнить несколько запросов в мапу атомарно поэтому Николаю вероятнее всего CHM не подойдет
источник

ЕК

Евгений Калашников in Java & Co
вообщем думаю тебе стоит смотреть в сторону readWriteLock
источник