Как мы все знаем, String неизменна в java. однако его можно изменить с помощью отражения, получив поле и установив уровень доступа. (Я знаю, что это неважно, я не собираюсь этого делать, этот вопрос является чисто теоретическим).
мой вопрос:, предполагая, что я знаю, что я делаю (и изменяю все поля по мере необходимости), будет ли программа работать правильно? или jvm делает некоторые оптимизации, которые полагаются на String неизменяемым? я буду терпеть потерю производительности? если да, то какое это предположение? что пойдет не так в программе
p.s. Строка - это всего лишь пример, на самом деле меня интересует общий ответ, помимо примера.
спасибо!