Java Core senior
Почему final-поля и constructor injection — стандарт Senior?
Ответ
Иммутабельность зависимостей — основа thread-safe сервиса. После создания объекта его зависимости НЕ должны меняться. final гарантирует это на уровне компилятора. Конструктор делает зависимости явными — открыл класс и сразу видишь, от чего он зависит, и это легко проверить.
Разбор: Стандарт — иммутабельность зависимостей: после создания singleton-сервиса его зависимости не должны меняться, и final это гарантирует на уровне компилятора, что и лежит в основе thread-safety. Конструктор делает зависимости явными и проверяемыми. Дистракторы искажают семантику final: он не вводит синхронизацию/монитор, не про кеширование в регистрах и тем более не заставляет Spring пересоздавать singleton-бин.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.