Java ConcurrentHashMap лучше, чем HashMap с точки зрения производительности?

Я как раз читал книгу «Чистый код» и наткнулся на следующее утверждение:

Когда Java был молод, Дуг Ли написал основополагающую книгу [8] Concurrent Программирование на Java. Наряду с книгой он разработал несколько потокобезопасная коллекция, которая позже стала частью JDK в пакет java.util.concurrent . Коллекции в этом пакете безопасны для многопоточных ситуаций, и они хорошо работают. Фактически, Реализация ConcurrentHashMap работает лучше, чем HashMap в почти во всех ситуациях. Это также позволяет одновременное одновременное читает и пишет, и у него есть методы, поддерживающие общий составной операции, которые иначе не являются потокобезопасными. Если Java 5 - это среда развертывания, начните с ConcurrentHashMap

Обратите внимание, что в приведенной выше цитате я использовал «[n]», где n - некоторое число, чтобы указать места, на которые автор предоставил ссылки, и, как вы можете видеть, он не предоставил никаких ссылок для жирная часть.

Не то чтобы я не верю этому утверждению, но мне бы хотелось узнать подтверждающие доказательства этого утверждения. Итак, кто-нибудь знает какие-либо ресурсы, которые показывают статистику производительности для ConcurrentHashMap и HashMap ? Или кто-нибудь может объяснить мне, почему ConcurrentHashMap быстрее, чем HashMap?

Я, вероятно, посмотрю на реализацию ConcurrentHashMap в действии, когда у меня будет перерыв, но сейчас я хотел бы услышать ответы от коллег SO.

22
задан Benjamin 2 February 2014 в 22:51
поделиться