Никогда не синхронизировать строки, особенно строковые литералы, которые интернированы. У вас в основном только один замок.
Как правило, никогда не синхронизируйте ни одну ссылку, которая может быть видна за пределами вашего класса (включая «this») , если цель внешней видимости не предназначена именно для целей блокировки. Я обычно использую переменную private final
, созданную исключительно для блокировки.