Для чего используют ключевое слово final?
Встретил один проект в котором практически все переменные инициализированы через ключевое слово final . Значение и функцию этого слова я знаю, вопрос в том, какой смысл все переменные так инициализировать? Это как то сказывается на производительности?
Ответы (1 шт):
Смысл может быть в том, чтобы сделать все объекты неизменяемыми/иммутабельными, то есть, внутреннее состояние объекта не может меняться, может только генерироваться новый объект.
Следовательно, такие объекты являются потокобезопасными (thread-safe), и с ними проще работать в многопоточных приложениях. В частности, можно избежать использования синхронизации при доступе к таким объектам, что и приводит к выигрышу в производительности.