Membro desde: 18/05/2009 23:03:38
Mensagens: 165
Localização: Barra do Bugres, Mato Grosso
Offline
Fatos Importantes Relacionados aos Objetos String e a Memória
Um dos objetivos principais de qualquer linguagem de programação sofisticada é fazer uso eficiente da memória.
Com o crescimento dos aplicativos, é muito comum que Strings literais ocupem grandes espaços da memória, e que
geralmente haja muita redundância dentro do universo das Strings literais de um programa. Para tornar a linguagem
Java mais eficiente no uso da memória, a JVM deixa reservada um área especial chamada "pool constante de Strings".
Quando o compilador encontra uma String literal, verifica o pool para ver se já existe uma idêntica. Se uma coincidência
for encontrada, a referência ao novo valor literal será direcionada para a String existente e nenhum objeto String literal
novo será criado (a String existente simplesmente terá uma referência adicional). Agora podemos começar a ver por que
tornar objetos String imutáveis é uma ideia tão boa. Se diversas variáveis de referência apontam para a mesma String
sem nem mesmo terem informação disso, seria muito ruim se alguma delas pudesse ter o valor da string alterado.
Esta é a citação do livro. Mesmo assim não consigo entender a pergunta.
Oracle Certified Professional, Java SE 6 Programmer
Estudante de Ciência da Computação