Best practices для создания in memory хранилища используя HashMap

245
15 октября 2017, 21:21

Задача:

Реализовать in memory хранилище с использованием HashMap наилучшим и потокобезопасным способом.

Вопросы:

  1. Существуют ли best practicies или паттерны для реализации такого хранилища?
  2. Можно ли считать такой выбор неоптимальным и почему?

Комментарий:

На данный момент я знаю достаточно мощный инструмент для реализации in memory storage, используя H2, однако вопрос больше нацелен на базовые возможности JDK.

Заранее спасибо.

Answer 1

Если хотите потокобезопасную реализацию Map, рекомендую ConcurentHashMap из пакета java.util.concurrent. Методы внутри такой реализации уже синхронизированы, причем намного эффективнее, чем в Collections.synchronizedMap.

Подробнее можно почитать здесь

Насчет эффективности здесь сложно говорить без конкретных задач. В любом случае, хранилище в виде базы данных является более эффективным решением, чем создание хранилища средствами одной лишь мапы.

READ ALSO
Универсальный gson для разного формата дат

Универсальный gson для разного формата дат

У меня есть класс, в котором есть поля LocalDate (yyyy-mm-dd) и в тоже время поля LocalDateTime (формата: "2011-12-03T10:15:30+01:00")(т

229
Хранение документов в elasticsearch

Хранение документов в elasticsearch

Начал смотреть в организацию удобного поиска в каталоге документов, выбор остановил на elasticsearch как поисковый движок и клиент для загрузки/поиска/вывода...

426
Как брать данные понемногу?

Как брать данные понемногу?

Есть сервис и при обращении к нему он возвращает ответ обьемом 20+мб и я парсю эти данныеНо вот беда если вдруг сеть оборвется я он загрузил...

275
В каком формате получать данные на сервере JAVA

В каком формате получать данные на сервере JAVA

Здравствуйте! Подскажите пожалуйстаНужно сделать сервер со Spring'ом

227