Pool de Strings

Nós sabemos que o Java é uma linguagem que se preocupa com perfomance (principalmente da JVM).

Quando criamos uma String da primeira maneira, a partir do momento que criamos ela fica dentro de um container. E se for eventualmente declarada uma String com o mesmo nome, ela irá apontar diretamente para esse container.

Então ao invés de ficar instanciando novas Strings (com new) e alocando esses novos objetos em outro endereço e alocando espaço na memória, a gente só reusa os objetos que estão na Pool de Strings.

Atualizado