эффект изменения String с использованием отражения

Как мы все знаем, String неизменяема в java. Однако можно изменить его с помощью отражения, получив Поле и установив уровень доступа . (Я знаю, что это не рекомендуется, я не планирую этого делать, это чисто теоретический вопрос).

мой вопрос: предполагая, что я знаю, что делаю (и изменяю все поля по мере необходимости), будет ли программа работает правильно? или jvm делает некоторые оптимизации, которые полагаются на неизменяемость String? Потеряю ли я производительность? Если да, то какое предположение она делает? что пойдет не так в программе

ps String - это просто пример, На самом деле меня интересует общий ответ в дополнение к примеру.

спасибо!

12
задан amit 3 August 2011 в 20:21
поделиться