Sobes.tech
Junior — Middle

O que é uma string literal pool e para que serve na gestão de memória?

sobes.tech IA

Resposta da IA

O pool de strings (String Pool) é uma área especial de memória em Java onde objetos de strings únicos são armazenados. Quando um literal de string é criado, a JVM verifica se essa string já existe no pool. Se existir, ela retorna uma referência a ela; se não, adiciona uma nova.

Para que serve isso?

  • Economia de memória: strings iguais são armazenadas uma única vez.
  • Melhoria de desempenho: comparação de strings por referência (==) é possível para literais do pool.

Exemplo:

String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2); // true, ambas as referências apontam para o mesmo objeto no pool

String s3 = new String("hello");
System.out.println(s1 == s3); // false, s3 é um novo objeto fora do pool

Assim, o pool de strings ajuda a gerenciar a memória de forma eficiente ao trabalhar com strings.