Изменение реализации ConcurrentHashMap с Java 7 на 8

Недавно я просмотрел исходный код ConcurrentHashMap java 1.8, и там вся реализация изменена с java 1.7. И, в частности, меня больше интересует, почему для целей блокировки теперь используется synchronized вместо Reentrantlock в 1.7. Если бы кто-то мог предоставить некоторые указатели или указать мне на некоторые статьи, объясняющие недостатки в версии 1.7.


person Vipul Goyal    schedule 22.06.2018    source источник
comment
Только предположение: synchronized более читаем, чем ReenrantLock, за счет гибкости и, возможно, эффективности. Я предполагаю, что дополнительная гибкость не нужна, а эффективность синхронизации улучшилась до такой степени, что это лучший выбор.   -  person Yoav Gur    schedule 22.06.2018


Ответы (1)


Согласно этому ответу, количество изменений, необходимых для реализации новых функций Java 8 (множество дополнительных методов на Map интерфейс) потребовал перезаписи.

Существует также другой поток с тем же конкретным вопросом, который у вас есть об использовании встроенных блокировок вместо объектов Lock (но он остался без ответа) .

person Community    schedule 22.06.2018