efeito de alterar String usando reflexão

Como todos sabemos, String é imutável em java. no entanto, é possível alterá-lo usando reflexão, obtendo o campo e definindo o nível de acesso. (Sei que não é aconselhável, não pretendo fazê-lo, esta questão é pura teórica

minha pergunta supondo que eu saiba o que estou fazendo (e modifique todos os campos conforme necessário), o programa será executado corretamente? ou a jvm faz algumas otimizações que dependem de String ser imutável? sofrerei perda de desempenho? Nesse caso, que suposição faz? o que vai dar errado no programa

p.s. String é apenas um exemplo, estou realmente interessado em uma resposta geral, além do exempl

obrigado

questionAnswers(7)

yourAnswerToTheQuestion