Я столкнулся с той же проблемой, что и скорость выполнения, зависит от платформы операционной системы.
Jvm загружает хранилище ключей в памяти. И его наличие коллекции хеш-таблицы в качестве внутреннего хранилища.
Hashtable синхронизирован.
Всякий раз, когда вы выполняете операцию получения из хранилища ключей, он возвращает его из хранилища ключей в памяти не из физического хранилища ключей. Вы можете подтвердить это с помощью команды («top» -% wa section) в операционной системе Linux.
Ключ-магазин использует хеш-таблицу и является основной причиной снижения производительности.
Я решил эту проблему, загрузив все ключи из хранилища ключей в ConcurrentHashMap при инициализации проекта. и позже, Все операции чтения будут выполняться из MAP вместо хранилища ключей. И убедитесь, что все операции записи будут выполняться как на хранилище ключей, так и на MAP.
Каков размер магазина, когда производительность становится проблемой? Пожалуйста, добавьте эту информацию на вопрос, а не как ответ. – zaph
Связано это с вопросом @Nirav Shah? Если да, пожалуйста, скопируйте и удалите один из вопросов. Дубликат http://stackoverflow.com/q/38456568/451475 – zaph
Хорошо, похоже. но мой вопрос касается ограничения хранилища ключей. Спасибо Zaph –