Java Core middle
Что такое String Pool? Почему String immutable?
Ответ
Безопасность, потокобезопасность, кэширование hashCode, работа String Pool.
Разбор: String неизменяем для безопасности (нельзя подменить путь/хост/SQL после проверки), потокобезопасности без синхронизации, кэширования hashCode и корректной работы String Pool (литералы можно безопасно разделять). Ловушки: final у класса запрещает наследование, но сам по себе не делает объект immutable, а value не volatile; неизменяемость не про перемещение объектов GC; и конкатенация как раз создаёт новые объекты, а не меняет строку на месте.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.